我使用以下代码将具有透明背景的 PNG 上传到 Java 服务器
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);
我似乎无法将背景设置为透明,它必须有颜色?
无论如何要有透明背景吗?
最佳答案
使用 TYPE_INT_ARGB 而不是 TYPE_INT_RGB
关于java - 具有透明 PNG 的 BufferedImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45560039/