Hi,
ich suche eine Möglichkeit ein Bild (BufferedImage) beim Zeichnen möglichst qualitativ gut zu skalieren.
Bisher benutze ich
wobei zoom so zw. 0.25 und 1.5 liegt, also keine ganz grossen pixel-reduktionen.
Ich habe einiges dazu gefunden, aber leider sind die Ansätze durchweg entweder für qualitativ
hochwertige bildskalierung oder benutzen .getScaledInstance(...) mit z.B. bilinear gefiltertetem output und würden dann bei jedem repaint() Speicher allozieren.
Gibt es was das mit geringem (Rechen-)Mehraufwand wenigstens die unschönen Treppen-klötzchen vermeidet und trotzdem keinen extra Speicher benötigt?
Danke schonmal fürs feedback,
Nico
ps.
ich habe auch schonmal das hier versucht, das hat aber leider die selben artefakte
ich suche eine Möglichkeit ein Bild (BufferedImage) beim Zeichnen möglichst qualitativ gut zu skalieren.
Bisher benutze ich
Java:
graphics2d.drawImage(bufImage, 0,0, width * zoom, height * zoom);
Ich habe einiges dazu gefunden, aber leider sind die Ansätze durchweg entweder für qualitativ
hochwertige bildskalierung oder benutzen .getScaledInstance(...) mit z.B. bilinear gefiltertetem output und würden dann bei jedem repaint() Speicher allozieren.
Gibt es was das mit geringem (Rechen-)Mehraufwand wenigstens die unschönen Treppen-klötzchen vermeidet und trotzdem keinen extra Speicher benötigt?
Danke schonmal fürs feedback,
Nico
ps.
ich habe auch schonmal das hier versucht, das hat aber leider die selben artefakte
Java:
AffineTransform at = g2.getTransform();
g2.scale(zoom, zoom);
g2.drawImage(bufImage,
0,
0, this);
g2.setTransform(at);