java将图片变成圆角_Java 图片设置圆角(设置边框,旁白)
时间: 2023-07-29 22:13:51 浏览: 163
要将Java中的图片变成圆角,可以使用Java的Graphics2D类和Java的AWT工具包中的RoundRectangle2D类。
下面是一个简单的Java代码示例来实现这个功能:
```java
import java.awt.*;
import java.awt.geom.*;
import java.awt.image.BufferedImage;
public class RoundImage {
public static BufferedImage makeRoundedCorner(BufferedImage image, int cornerRadius) {
int w = image.getWidth();
int h = image.getHeight();
BufferedImage output = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = output.createGraphics();
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.setColor(Color.WHITE);
g2.fill(new RoundRectangle2D.Float(0, 0, w, h, cornerRadius, cornerRadius));
g2.setComposite(AlphaComposite.SrcIn);
g2.drawImage(image, 0, 0, null);
g2.dispose();
return output;
}
public static void main(String[] args) {
BufferedImage image = null;
try {
image = ImageIO.read(new File("image.jpg"));
image = makeRoundedCorner(image, 50);
ImageIO.write(image, "png", new File("output.png"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,makeRoundedCorner()方法将输入的BufferedImage对象进行圆角化处理,并返回一个新的BufferedImage对象。该方法使用Graphics2D对象来创建一个带有圆角的矩形,并将其设置为AlphaComposite.SrcIn的组合方式。最后,该方法将输入的BufferedImage对象绘制到新的BufferedImage对象上,从而实现了将图片变成圆角的效果。
在main()方法中,我们首先使用ImageIO类从文件中读取输入图片,并将其作为参数传递给makeRoundedCorner()方法。然后,我们将生成的新BufferedImage对象保存为PNG格式的文件。
阅读全文