动态创建和渲染具有透明背景的图像,以便与drawImage一起使用

发布于 2024-08-30 17:48:30 字数 72 浏览 8 评论 0原文

有人可以提供一个示例,说明如何在 Java 中动态创建图像,在其上绘制线条等,然后绘制图像,以便未绘制的区域在绘制过程中保持透明?

Could someone provide an example of how to dynamically create an image in Java, draw lines et cetera on it, and then draw the image so that areas not painted will remain transparent in the drawing process?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

只有一腔孤勇 2024-09-06 17:48:31

可以使用 BufferedImage 使用支持透明度的图像类型,例如 BufferedImage.TYPE_INT_ARGB

BufferedImage img = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB);

可以通过调用 BufferedImage.createGraphics 获取 Graphics2D< /code> 对象,然后执行一些绘图:

BufferedImage img = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB);

Graphics2D g = img.createGraphics();
g.drawLine(0, 0, 10, 10);  // draw a line.
g.dispose(); 

然后,由于 BufferedImageImage 可用于使用 Graphics.drawImage 接受Image

One could use a BufferedImage with an image type that supports transparency such as BufferedImage.TYPE_INT_ARGB:

BufferedImage img = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB);

One can draw on the BufferedImage by calling BufferedImage.createGraphics to obtain a Graphics2D object, then perform some drawing:

BufferedImage img = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB);

Graphics2D g = img.createGraphics();
g.drawLine(0, 0, 10, 10);  // draw a line.
g.dispose(); 

Then, since BufferedImage is a subclass of Image that can be used to draw onto another Image using one of the Graphics.drawImage that accepts an Image.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文