Transparenz beim Skalieren erhalten

nex_m

Erfahrenes Mitglied
Hey..

Ich habe folgendes Problem:
Wenn ich ein .gif mit transparenten Hintergrund skaliere, wird die Transparenz verworfen bzw. das Bild erhält einen schwarzen Rand.

So skaliere ich bisher:
Code:
	public static BufferedImage scale(final Image img, final int width, final int height){
		Image scaledImage = img.getScaledInstance(width, height, Image.SCALE_SMOOTH);
		BufferedImage outImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

		Graphics g = outImage.getGraphics();
		g.drawImage(scaledImage, 0, 0, null);
		g.dispose();

		return outImage;
	}

Code:
	public static void saveScaledImage(BufferedImage img, File file){
		try{
			ImageIO.write(img, "gif", file);
		}
		catch (IOException e){
			System.out.println("Error while saving scaled image");
		}
	}

Kann mir da jemand weiterhelfen?
 

Anhänge

  • Rechteck.gif
    Rechteck.gif
    364 Bytes · Aufrufe: 40
  • Scaled.gif
    Scaled.gif
    374 Bytes · Aufrufe: 39
Zuletzt bearbeitet:

Neue Beiträge

Zurück