BufferedImage und Antialias

Status
Nicht offen für weitere Antworten.

kowa

Aktives Mitglied
Hallo,

ich habe ein Programm, indem man Bilder skalieren, drehen und bewegen kann. Die Bilder sind ganz normale Fotos. Doch vorallem nachdem ein Bild gedreht wurde, bekommt es Kanten. Ich lade vorher die Bilder aus einem Ordner und speichere diese jeweils in ein BufferedImage. Dieses BufferedImages zeichne ich später in der Paint-Methode, nachdem ich mit g.rotate() das Bild gedreht habe. Obwohl ich Antialias eingeschaltet habe, erscheinen Kanten.

Der Code sieht im wesentlichen so aus:

Code:
public void paint(Graphics g)
{ 
  super.paintComponent(g);
  Graphics2D g2 = (Graphics2D) g;	
  g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
  g2.rotate(a,xRotate,yRotate);	
  g2.drawImage(image,x,y,null);	 //image ist ein BufferedImage, was mit ImageIO.read() gespeichert wurde
}

Das Bild wird auch noch skaliert, zb direkt beim Laden mit AffineTransformOp. Nachdem Skalieren, zeichne ich das geladene BufferedImage in ein neues BufferedImage. Auch wenn ich dort Antialias aktiviere, funktioniert es nicht. Ist das normal so bei Fotos in Java, dass Antialias nicht geht oder gibt es irgendwelche Besonderheiten, die ich beachten muss oder irgendwelche Tricks womit es doch geht?
 

muddin

Mitglied
Hi!

Du musst die Render-Qualität setzen, nicht Antialiasing - das hat mit Interpolation nämlich nichts am Hut ;)

Code:
g2.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);

Das dürfte dein Problem lösen.

mfg,
muddin
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B BufferedImage Position Spiele- und Multimedia-Programmierung 8
B BufferStrategy zu BufferedImage? Irgendwie? Spiele- und Multimedia-Programmierung 2
D getsubimage aus BufferedImage und Rueckwandlung in ein ImagePlus bild Spiele- und Multimedia-Programmierung 0
V BufferedImage[] aus anderer Classe auslesen Spiele- und Multimedia-Programmierung 2
F [JMyron] Bild von int[] zu BufferedImage Spiele- und Multimedia-Programmierung 2
Q BufferedImage vs. Heap Space ‒ Warum wird der Speicher nicht freigegeben? Spiele- und Multimedia-Programmierung 6
M Performance Problem bei BufferedImage Spiele- und Multimedia-Programmierung 7
R BufferedImage > Integer.MAX_VALUE Spiele- und Multimedia-Programmierung 9
M Pixel eines BufferedImage bearbeiten (Performance) Spiele- und Multimedia-Programmierung 23
G BufferedImage -> Farbe wechselt willkürlich Spiele- und Multimedia-Programmierung 15
P int-Array zu BufferedImage (performance?) Spiele- und Multimedia-Programmierung 14
agentone BufferedImage transparent löschen Spiele- und Multimedia-Programmierung 12
radiac Stringtext mit BufferedImage Textur. Spiele- und Multimedia-Programmierung 6
T BufferedImage#setRGB #getRGB zu langsam Spiele- und Multimedia-Programmierung 4
J Zeichnen in BufferedImage und dieses in Datei speichern Spiele- und Multimedia-Programmierung 2
A Image in BufferedImage konvertieren Spiele- und Multimedia-Programmierung 2
Z Transparenz in BufferedImage Spiele- und Multimedia-Programmierung 8
Z JME - Rendering in BufferedImage Spiele- und Multimedia-Programmierung 14
A Bildbereich als BufferedImage Spiele- und Multimedia-Programmierung 3
M BufferedImage blass machen Spiele- und Multimedia-Programmierung 5
Lulumann6 BufferedImage in VolatileImage casten Spiele- und Multimedia-Programmierung 10
F BufferedImage verursacht OutOfMemoryError Spiele- und Multimedia-Programmierung 11
P Rotation von BufferedImage (Affine Transformation) Spiele- und Multimedia-Programmierung 7
S Image to BufferedImage Spiele- und Multimedia-Programmierung 3

Ähnliche Java Themen


Oben