首页 > 代码库 > 背景图片变透明
背景图片变透明
public class Alpha { public static void transferAlpha(String imagePath,String outputDir,String outputFileName) throws Exception { Image image=ImageIO.read(new File(imagePath)); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); try { ImageIcon imageIcon = new ImageIcon(image); BufferedImage bufferedImage = new BufferedImage( imageIcon.getIconWidth(), imageIcon.getIconHeight(), BufferedImage.TYPE_4BYTE_ABGR); Graphics2D g2D = (Graphics2D) bufferedImage.getGraphics(); g2D.drawImage(imageIcon.getImage(), 0, 0, imageIcon.getImageObserver()); int alpha = 0; for (int j1 = bufferedImage.getMinY(); j1 < bufferedImage .getHeight(); j1++) { for (int j2 = bufferedImage.getMinX(); j2 < bufferedImage .getWidth(); j2++) { int rgb = bufferedImage.getRGB(j2, j1); int R = (rgb & 0xff0000) >> 16; int G = (rgb & 0xff00) >> 8; int B = (rgb & 0xff); if (((255 - R) < 30) && ((255 - G) < 30) && ((255 - B) < 30)) { rgb = ((alpha + 1) << 24) | (rgb & 0x00ffffff); } bufferedImage.setRGB(j2, j1, rgb); } } g2D.drawImage(bufferedImage, 0, 0, imageIcon.getImageObserver()); new File(outputDir).mkdir(); ImageIO.write(bufferedImage, "png", new File(outputDir+outputFileName)); ImageIO.write(bufferedImage, "png", byteArrayOutputStream); } catch (Exception e) { e.printStackTrace(); } finally { } //return byteArrayOutputStream.toByteArray(); }
背景图片变透明
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。