62,612
社区成员
发帖
与我相关
我的任务
分享
public static void main(String[] args) throws IOException {
try {
// 读取图片
BufferedImage bi1 = ImageIO.read(new File("E://3.jpg"));
// 创建一个带透明色的BufferedImage
BufferedImage image = new BufferedImage(bi1.getWidth(), bi1.getHeight(),
BufferedImage.TYPE_INT_ARGB);
// 创建一个椭圆形的2D图像
Ellipse2D.Double shape = new Ellipse2D.Double(0, 0, bi1.getWidth(), bi1
.getHeight());
Graphics2D g2 = image.createGraphics();
image = g2.getDeviceConfiguration().createCompatibleImage(bi1.getWidth(), bi1.getHeight(), Transparency.TRANSLUCENT);
g2 = image.createGraphics();
g2.setComposite(AlphaComposite.Clear);
g2.fill(new Rectangle(image.getWidth(), image.getHeight()));
g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC, 1.0f));
g2.setClip(shape);
g2.drawImage(bi1, 0, 0, null);
g2.dispose();
ImageIO.write(image, "jpg", new File("E://4.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
}