Hi,
ich habe ein Programm in dem ich Bilder skalieren muß. Dabei rufe ich eine Methode die dieses übernimmt zwei mal hintereinander auf. Dabei entsteht immer bei einem dieser Bilder ein Fehler in der darstellung, das heißt ein Bild hat immer merkwürdige Streifen. Wenn ich die Funktion nur einmal aufrufe geht es gut. Auch wenn ich ein Thread.sleep() zwischen den beiden Aufrufen mache sind beide Bilder OK. Aber ich will das Programm nicht unnötg verzögern (unprofessionel). Kann mir da jemand helfen?
hier die Methode:
public Image getMedSizedImg(double size, Image img)
{
double factor = 0.0;
MediaTracker mt = new MediaTracker(this);
factor = size / img.getWidth(null);
img = img.getScaledInstance((int)size, (int)(factor*img.getHeight(null)), Image.SCALE_SMOOTH);
mt.addImage(img, 0);
try
{
mt.waitForID(0);
} catch (Exception e){}
mt.removeImage(img, 0);
return img;
}
(das Bild als Parameter wird vorher mit einem MediaTracker geladen)
Vielen Dank!