2016-05-26 10 views
1

Ich schrieb eine Methode zum Ändern der Größe BufferedImages für mich, aber nach dem so .png Bilder am Ende verlieren ihre Transparenz und stattdessen erhalten sie einen schwarzen Hintergrund.So entfernen Sie schwarzen Hintergrund nach der Größenanpassung BufferedImages java

public BufferedImage getSizedImg(BufferedImage otherImage,int width,int height){ 
    BufferedImage outputImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); 

    Graphics g = outputImg.createGraphics(); 
    g.drawImage(otherImage, 0, 0, width, height, null); 
    g.dispose(); 
    return outputImg; 
} 

Wie kann ich die Methode reparieren, damit die Bilder ihre Transparenz behalten?

Antwort

4

Einfach. Wenn Sie Ihre neue Größe neu BufferedImage schaffen hier:

BufferedImage outputImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); 

nicht verwenden BufferedImage.TYPE_INT_RGB sondern BufferedImage.TYPE_INT_ARGB. Die "A" steht für "Alpha" und das gibt Ihnen die Transparenz. Weitere Informationen hierzu finden Sie unter BufferedImage API.

Verwandte Themen