java对PNG图片圆角处理 保持PNG透明背景详解编程语言

/* 
* 圆角处理 
* @param BufferedImage 
* @param cornerRadius 
* */ 
public static String makeRoundedCorner(String srcImageFile, String result, String type, int cornerRadius) { 
    try { 
        BufferedImage image = ImageIO.read(new File(srcImageFile)); 
        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, cornerRadius, cornerRadius); 
        g2.setComposite(AlphaComposite.SrcIn); 
        g2.drawImage(image, 0, 0, w, h, null); 
        g2.dispose(); 
        ImageIO.write(output, type, new File(result)); 
        return result; 
    } catch (IOException e) { 
        e.printStackTrace(); 
    } 
    return null; 
}

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/10131.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论