Bild skalieren mit getScaledInstance()

Ich möchte ein Bild einlesen und dieses skaliert wieder abspeichern, es ist nicht notwendig dass es auf dem Bildschirm ausgegeben wird!

Das ist mein derzeitiger Zwischenstand:

import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.awt.image.RenderedImage;
import java.io.*;

public class CreateThumbnail extends Frame {
	public static void main(String[] args) throws Exception {
		BufferedImage image = ImageIO.read( new File("besucherkarte.jpg") );
		Image scaled = image.getScaledInstance(100, 75, Image.SCALE_SMOOTH );
		
		ImageIO.write(scaled, "png", new File( "besucherkarte.png" ));
		System.out.println("Bild erstellt!");
	}
}```

Mein Problem ist, dass ImageIO.write() kein Image, sondern nur BufferedImage oder RenderedImage akzeptiert. Wenn ich also statt der Variable **scaled**, **image** übergebe, funktionierts! :grr:

PS: Fragt mich nicht, wozu ich all diese Pakete importiert habe, ich hab Eclipse einfach werken lassen ^^'

Hm, der Thread war wohl leider umsonst. Ich habe endlich nach stundenlanger Suche die Lösung für mein Problem gefunden! :smiley:

import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.*;
 
public class CreateThumbnail extends Frame {
	private static final long serialVersionUID = 1L;

	public static void main(String[] args) throws Exception {
        int width = 100;
        int height = 75;
		BufferedImage image = ImageIO.read( new File("besucherkarte.jpg") );
        Image scaled = image.getScaledInstance(width, height, Image.SCALE_SMOOTH );
        BufferedImage outImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
        Graphics g = outImg.getGraphics();
        g.drawImage(scaled, 0, 0, null);
        g.dispose(); 
        
        ImageIO.write(outImg, "png", new File( "besucherkarte.png" ));
        System.out.println("Bild erstellt!");
    }
}```

Im Wiki gibts eine neue, genaue Beschreibung für dein Problem und warum man es nicht so machen sollte, wie du es gemacht hast.
Bilder skalieren – Byte-Welt Wiki