java怎么处理获得内切圆图片
发布网友
发布时间:2023-06-07 11:38
我来回答
共1个回答
热心网友
时间:2024-10-27 07:22
java处理获得内切圆图片的代码如下:
public static void main(String[] args) throws IOException {
BufferedImage bi1 = ImageIO.read(new File("d:/1.jpg"));
// 根据需要是否使用 BufferedImage.TYPE_INT_ARGB
BufferedImage image = new BufferedImage(bi1.getWidth(),
bi1.getHeight(), BufferedImage.TYPE_INT_ARGB);
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.setPaint(new Color (255,255,255));
g2.fill(new Rectangle(image.getWidth(), image.getHeight()));
g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.8f));
g2.setClip(shape);
// 使用 setRenderingHint 设置抗锯齿
g2.drawImage(bi1, 0, 0, null);
g2.dispose();
try {
ImageIO.write(image, "PNG", new File("d:/2.png"));
} catch (IOException e) {
e.printStackTrace();
}
}