具有透明 PNG 的缓冲图像
BufferedImage with Transparent PNG
我正在使用以下代码将具有透明背景的 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
我正在使用以下代码将具有透明背景的 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