Bildskalierung

Crach

Mitglied
Hey,

Hab mich mal an Image-Scalierung probiert nur seltsamerweise scheint er immer ein leeres Image zurück zu geben:


(Bild ist ein ToolkitImage - daher kann ichs nicht direkt dem drawRenderedImage(...,transform); übergeben..)
Code:
	public Image Bildverkleinern(Image Bild,int breite,int hoehe)
	{
		BufferedImage tmpBild = new BufferedImage(361, 297,BufferedImage.TYPE_INT_ARGB);
		tmpBild.getGraphics().drawImage(Bild,0, 0,this);

        BufferedImage outImg = new BufferedImage(breite, hoehe,  BufferedImage.TYPE_INT_ARGB);

        AffineTransform transform = AffineTransform.getScaleInstance((double)(breite/Bild.getWidth(null)), (double)(hoehe/Bild.getHeight(null)));
        
        outImg.createGraphics().drawRenderedImage(tmpBild,transform);

        System.out.println(outImg.getWidth()+" "+outImg.getHeight());

        return outImg;
	}

Wo könnt der fehler in dem Quelltext sein?

Das Image wird dann mittels JLabel.setIcon(new ImageIcon(Bildverkleinern(MeinBild,100,100))); ..also einem Label ausgegeben.
Das direkte ausgeben des Images funktioniert (ohne Methode).. nur irgendwas haut in der Methode nicht hin..


Crach
 
Zuletzt bearbeitet:
habs nun nach langem hin und her probieren doch noch hinbekommen:

AffineTransform transform = AffineTransform.getScaleInstance((double)breite/(double)Bild.getWidth(this), (double)hoehe/(double)Bild.getHeight(this));

so hätte wohl die zeile lauten müssen^^°
 
Zurück