gpt4 book ai didi

java - 将 BufferedImage 剪切到某个区域

转载 作者:行者123 更新时间:2023-11-30 03:31:46 27 4
gpt4 key购买 nike

我正在尝试在特定区域内绘制图像。现在我有代码用 RadialGradientPaint 填充一个区域。

Area lightArea = ...
// fill the polygon with the gradient paint
g.setPaint(light.paint);
g.fill(lightArea);

我想在该区域绘制一个 BufferedImage,而不是绘制一个 RadialGradientPaint。有什么办法可以做到这一点吗?

最佳答案

您可以使用BufferdImage#getSubimage

Rectangle bounds = area.getBounds();
BufferedImage img = master.getSubImage(0, 0, Math.min(bounds.width, master.getWidth()), Math.min(bounds.height, master.getHeight());

这假设该区域是矩形。如果不是,您可以根据区域的形状冷创建一个 mask 图像,并使用它来生成 mask 图像(cookie将图像从形状中切割出来)

如所示here 。其好处是它允许抗锯齿

关于java - 将 BufferedImage 剪切到某个区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28862450/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com