Java BufferedImage设置透明背景

方式一

从网上搜索出来的方案

BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = bufferedImage.createGraphics();
bufferedImage = graphics.getDeviceConfiguration().createCompatibleImage(width, height, Transparency.TRANSLUCENT);
复制代码

方式二

稍微精简

BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
BufferedImageGraphicsConfig config = BufferedImageGraphicsConfig.getConfig(bufferedImage);
bufferedImage =config.createCompatibleImage(width, height, Transparency.TRANSLUCENT);
复制代码

方式三

最底层代码

ColorModel cm = ColorModel.getRGBdefault();
WritableRaster wr = cm.createCompatibleWritableRaster(width, height);
BufferedImage bufferedImage = new BufferedImage(cm, wr, cm.isAlphaPremultiplied(), null);
复制代码
方式一 从网上搜索出来的方案 BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D graphics = bufferedImage.createGraphics(); bufferedImage = graphics.getDeviceConfiguration().createCompatibleImage(width, height, Transparency.TRANSLUCENT); 复制代码 方式二 稍微精简 BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); BufferedImageGraphicsConfig config = BufferedImageGraphicsConfig.getConfig(bufferedImage); bufferedImage =config.createCompatibleImage(width, height, Transparency.TRANSLUCENT); 复制代码 方式三 最底层代码 ColorModel cm = ColorModel.getRGBdefault(); WritableRaster wr = cm.createCompatibleWritableRaster(width, height); BufferedImage bufferedImage = new BufferedImage(cm, wr, cm.isAlphaPremultiplied(), null); 复制代码
经验分享 程序员 微信小程序 职场和发展