我们使用 JAI ( https://jai-imageio.dev.java.net/ ) 在 Java 中缩放和裁剪图像。我们想在我们的图像上创建圆角。我们如何做到这一点?
图片为JPG和PNG。我认为使用 JPG 更容易做到这一点?
该图像是来自 JAI 的 PlanarImage
PlanarImage src = JAI.create(...,...);
可以转换为 java.awt.Graphics 对象
有没有人这样做过?
我们使用 JAI ( https://jai-imageio.dev.java.net/ ) 在 Java 中缩放和裁剪图像。我们想在我们的图像上创建圆角。我们如何做到这一点?
图片为JPG和PNG。我认为使用 JPG 更容易做到这一点?
该图像是来自 JAI 的 PlanarImage
PlanarImage src = JAI.create(...,...);
可以转换为 java.awt.Graphics 对象
有没有人这样做过?
PNG 支持透明的 alpha 通道,但 JPG 不支持。因此,对于 JPG,您还必须选择一种颜色来为圆角绘制矩形的“不可见”部分。
有一个类java.awt.geom.RoundRectangle2D
可以做到这一点:
public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
RoundRectangle2D rr = new RoundRectangle2D.Float(50, 50, 200, 100, 10, 10);
g2d.draw(rr);
}
RoundRectangle2D 类的 Float() 方法接受六个参数:
因此,绘制一个圆角矩形,其中仅包含您想要圆角的图像,然后覆盖或使用蒙版来获得所需的效果。
是什么阻止您在从 Image 获得的 Graphics 对象上绘制您喜欢的任何角?我不太确定您的“圆角”应该是什么样子,但您可以对 Graphics 对象执行所有合理的绘制操作。