在 Java 中绘制形状

在某些情况下,您可能需要通过绘制圆形、线条、矩形等形状来创建不同的对象。此外,您可能必须在图像上绘制这些形状以进行注释。在本文中,您将学习如何在 Java 中以编程方式绘制形状。特别是,您将学习如何绘制直线、椭圆、圆弧和矩形并生成它们的图像。

用于绘制形状的 Java API - 免费下载

为了绘制形状并生成输出图像,我们将使用 Aspose.Imaging for Java。它是一个强大的图像编辑 API,提供了广泛的功能来处理图像和创建绘图。您可以 下载 API 或使用以下 Maven 配置安装它。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository> 

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging</artifactId>
    <version>22.9</version>
</dependency>

使用Java画一条线

以下是在 Java 中画线的步骤。

以下代码示例展示了如何在 Java 中绘制一条线。

// 创建 BmpOptions
com.aspose.imaging.imageoptions.BmpOptions bmpCreateOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpCreateOptions.setBitsPerPixel(32);

// 定义 BmpOptions 实例的源属性
bmpCreateOptions.setSource(new StreamSource());

// 创建 Image 的实例并通过传递
// bmpCreateOptions 对象
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 500, 500);

// 创建并初始化 Graphics 类的实例
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);

// 用白色清除图像表面
graphic.clear(com.aspose.imaging.Color.getWhite());

// 通过指定具有蓝色的 Pen 对象和
// 坐标点
graphic.drawLine(new Pen(com.aspose.imaging.Color.getBlue(), 3), 18, 18, 200, 200);
graphic.drawLine(new Pen(com.aspose.imaging.Color.getBlue(), 3), 18, 200, 200, 18);

// 通过指定具有 Solid 的 Pen 对象来绘制一条连续的线
// 用红色和两点结构画笔
graphic.drawLine(new Pen(new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getRed()), 3),
		new com.aspose.imaging.Point(18, 18), new com.aspose.imaging.Point(18, 200));

// 通过指定具有 Solid 的 Pen 对象来绘制一条连续的线
// 用白色和两点结构画笔
graphic.drawLine(new Pen(new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getOrange()), 3),
		new com.aspose.imaging.Point(200, 18), new com.aspose.imaging.Point(18, 18));

// 保存所有更改
image.save("draw_lines.bmp");

以下是上述代码示例的输出。

用Java画线

使用 Java 绘制椭圆

以下是在 Java 中绘制椭圆的步骤。

以下代码示例展示了如何在 Java 中的图像上绘制椭圆。

// 创建 BmpOptions
com.aspose.imaging.imageoptions.BmpOptions bmpCreateOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpCreateOptions.setBitsPerPixel(32);

// 定义 BmpOptions 实例的源属性
bmpCreateOptions.setSource(new StreamSource());

// 创建 Image 的实例并通过传递
// bmpCreateOptions 对象
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 400, 400);

// 创建并初始化 Graphics 类的实例
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);

// 用白色清除图像表面
graphic.clear(com.aspose.imaging.Color.getWhite());

// 通过指定具有红色的 Pen 对象来绘制一个带点的椭圆形状
// 颜色和周围的矩形
graphic.drawEllipse(new Pen(com.aspose.imaging.Color.getRed(), 3),
		new com.aspose.imaging.Rectangle(60, 40, 70, 120));

// 通过指定 Pen 对象绘制一个连续的椭圆形状
// solid brush with blue 颜色和周围的矩形
graphic.drawEllipse(new Pen(new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getBlue()), 3),
		new com.aspose.imaging.Rectangle(40, 60, 120, 70));

// 保存所有更改
image.save("draw_ellipse.bmp");

以下是上述代码示例的输出。

用Java画椭圆

使用 Java 绘制圆弧

以下是在 Java 中绘制圆弧的步骤。

以下代码示例展示了如何在 Java 中的图像上绘制弧线。

// 创建 BmpOptions
com.aspose.imaging.imageoptions.BmpOptions bmpCreateOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpCreateOptions.setBitsPerPixel(32);

// 定义 BmpOptions 实例的源属性
bmpCreateOptions.setSource(new StreamSource());

// 创建 Image 的实例并通过传递
// BmpOptions 对象
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 400, 400);

// 创建并初始化 Graphics 类的实例
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);

// 用白色清除图像表面
graphic.clear(com.aspose.imaging.Color.getWhite());

// 通过指定具有红黑色的 Pen 对象来绘制虚线弧形
// 颜色和坐标、高度、宽度、开始和结束角度
int width = 200;
int height = 300;
int startAngle = 45;
int sweepAngle = 270;

// 在屏幕上绘制弧线
graphic.drawArc(new Pen(com.aspose.imaging.Color.getBlack(), 3), 0, 0, width, height, startAngle, sweepAngle);

// 保存所有更改
image.save("draw_arc.bmp");

以下是上述代码示例的输出。

用Java画弧

使用 Java 绘制矩形

以下是在 Java 中绘制矩形的步骤。

下面的代码示例展示了如何在 Java 中的图像上绘制一个矩形。

// 创建 BmpOptions
com.aspose.imaging.imageoptions.BmpOptions bmpCreateOptions = new com.aspose.imaging.imageoptions.BmpOptions();
bmpCreateOptions.setBitsPerPixel(32);

// 定义 BmpOptions 实例的源属性
bmpCreateOptions.setSource(new StreamSource());

// 创建 Image 的实例并通过传递
// bmpCreateOptions 对象
com.aspose.imaging.Image image = com.aspose.imaging.Image.create(bmpCreateOptions, 400, 400);

// 创建并初始化 Graphics 类的实例
com.aspose.imaging.Graphics graphic = new com.aspose.imaging.Graphics(image);

// 用白色清除图像表面
graphic.clear(com.aspose.imaging.Color.getWhite());

// 通过指定具有红色的 Pen 对象绘制一个虚线矩形
// 颜色和矩形结构
graphic.drawRectangle(new Pen(com.aspose.imaging.Color.getRed(), 3),
		new com.aspose.imaging.Rectangle(60, 40, 70, 120));

// 通过指定 Pen 对象绘制一个连续的矩形形状
// solid brush with blue 颜色和矩形结构
graphic.drawRectangle(new Pen(new com.aspose.imaging.brushes.SolidBrush(com.aspose.imaging.Color.getBlue()), 3),
		new com.aspose.imaging.Rectangle(40, 60, 120, 70));

// 保存所有更改
image.save("draw_rectangle.bmp");

以下是上述代码示例的输出。

在Java中绘制矩形

Java 图像绘图 API - 获得免费许可证

您可以获得免费的临时许可证 并在没有评估限制的情况下绘制形状。

结论

在本文中,您学习了如何在 Java 中绘制形状。我们已经介绍了如何以编程方式在图像上绘制直线、椭圆、圆弧和矩形。您可以轻松地将提供的代码示例集成到您的 Java 应用程序中。

阅读更多

您可以使用 documentation 探索有关 Java 图像处理 API 的更多信息。此外,您可以通过我们的 论坛 与我们分享您的疑问。

也可以看看