的BufferedImage透明PNG
问题描述:
我使用下面的代码的BufferedImage透明PNG
byte[] imageData = Base64.decodeBase64(encodedImage);
ByteArrayInputStream bais = new ByteArrayInputStream(imageData);
BufferedImage bufferedImage = ImageIO.read(bais);
BufferedImage newBufferedImage = new BufferedImage(bufferedImage.getWidth(),
bufferedImage.getHeight(), BufferedImage.TYPE_INT_RGB);
newBufferedImage.createGraphics().drawImage(bufferedImage, 0, 0, Color.OPAQUE, null);
Scene scene = sceneService.getScene(sceneId);
java.io.File file = new java.io.File(Constants.TEMP_DIR_PATH
+ UUID.randomUUID().toString() +".png");
ImageIO.write(newBufferedImage, "PNG", file);
我似乎无法设置背景为透明上传PNG透明背景的Java服务器,它必须有一个颜色?
无论如何有一个透明的背景?
答
使用TYPE_INT_ARGB而不是TYPE_INT_RGB
使用TYPE_INT_ARGB –
是刚刚发现。添加它作为答案,我会标记它是正确的。 – user5839