透明背景png Java BuffereImage
我正在尝试从Java显示的图像中创建一个png,背景是透明的,而不是白色的。尝试在新颜色(0,0,0,0)中将alpha设置为0-背景仍然显示为白色
我正在使用BuffereImage
WritableRaster raster = onscreenImage.getRaster(); WritableRaster newRaster; newRaster = raster.createWritableChild(0, 0, width, height, 0, 0, new int[] {0, 1, 2}); DirectColorModel cm = (DirectColorModel) onscreenImage.getColorModel(); DirectColorModel newCM = new DirectColorModel(cm.getPixelSize(), cm.getRedMask(), cm.getGreenMask(), cm.getBlueMask()); BufferedImage rgbBuffer = new BufferedImage(newCM, newRaster, false, null); try { ImageIO.write(rgbBuffer, suffix, file); } catch (IOException e) { e.printStackTrace(); }
# 1 楼答案
您没有在颜色模型中指定alpha组件。试着这样做: