Java对图片圆角处理
可以全部为圆角或是右上、左下为圆角
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.URL;
public class Test {
public static void main(String[] args){
try {
BufferedImage image = ImageIO.read(new URL("http://xx.xx.xx:8888/测试.jpg"));
int w = image.getWidth();
int h = image.getHeight();
BufferedImage output = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = output.createGraphics();
output = g2.getDeviceConfiguration().createCompatibleImage(w, h, Transparency.TRANSLUCENT);
g2.dispose();
g2 = output.createGraphics();
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.fillRoundRect(0, 0,w, h, 150, 150);
g2.fillRect(0,0, 150,150);
g2.fillRect(0, new Double(h/1.5).intValue(), 300,300);
g2.fillRect(new Double(w/1.2).intValue(),0, 300,300);
g2.fillRect(new Double(w/1.2).intValue(),new Double(h/1.5).intValue(), 300,300);
g2.setComposite(AlphaComposite.SrcIn);
g2.drawImage(image, 0, 0, w, h, null);
g2.dispose();
ImageIO.write(output, "png", new File("D:\\测试.png"));
System.out.println("图片编辑完成");
} catch (IOException e) {
e.printStackTrace();
}
}
}