2017-08-08 5 views
0

Je télécharger au format PNG avec un fond transparent à un serveur Java en utilisant le code ci-dessousBufferedImage avec transparent 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); 

Je ne peux pas sembler mettre l'arrière-plan transparent, il doit avoir une couleur ?

De toute façon pour avoir un fond transparent?

+1

utilisation TYPE_INT_ARGB –

+0

Oui juste trouvé que. Ajoutez-le comme une réponse et je vais le corriger. – user5839

Répondre

2

Utilisation TYPE_INT_ARGB au lieu de TYPE_INT_RGB