graphics 切圆背景透明

Posted yang1018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了graphics 切圆背景透明相关的知识,希望对你有一定的参考价值。

public static void main(String[] args) throws IOException {
      BufferedImage bi1 = ImageIO.read(new File("    "));
        // 根据需要是否使用 BufferedImage.TYPE_INT_ARGB
        int num =0;
        if(bi1.getWidth()>bi1.getHeight()) {
            num = bi1.getHeight();
        }else {
            num = bi1.getWidth();
        }
        BufferedImage image = new BufferedImage(num,num, BufferedImage.TYPE_4BYTE_ABGR);
 
        Graphics2D g2 = image.createGraphics();
        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        Ellipse2D.Double shape = new Ellipse2D.Double(0, 0, num, num);
        g2.setClip(shape);
        // 使用 setRenderingHint 设置抗锯齿
        g2.drawImage(bi1, 0, 0, null);
        g2.dispose();
 
        try {
            ImageIO.write(image, "PNG", new File("    "));
        } catch (IOException e) {
            e.printStackTrace();
        }


    }
            

 

以上是关于graphics 切圆背景透明的主要内容,如果未能解决你的问题,请参考以下文章

Java AWT Graphics更改drawString()的背景颜色[重复]

c#中使用Graphice类绘图 怎么才能把背景的黑白格去掉或者变透明

C#程序设计窗体如何将导入的图片背景变成透明?

Java Graphics2D - 绘制具有渐变不透明度的图像

java 图片如何让白色变透明

C# GDI+导入图片如何让背景透明