Hallo an alle.
Es geht um folgendes. Bei einer Animation wird in meinem Programm on the fly eine Image einer Rotation, Translation und Skalierung unterzogen. Das sieht so aus:
Meine Frage ergibt sich wie folgt - Ich habe wie im Qtext zu sehen verschiedene RenderingHints gesetzt um die Qualität der Rotation und Skalierung zu verbessern.
Allerdings habe ich den Eindruck, dass die Qualität dennoch überschaubar ist. Bei der Animation ist es nahezu möglich die Pixel der Kanten bei der Animation - der Veränderung pro Zeiteinheit - zu beobachten. Es handelt sich initial um ein hochauflösendes Bild von 528x528, dass auf ca. 20-30 Pixel runterskaliert wird.
Ich bin letztlich mit den Kanten nach der Rotation Weise unzufrieden und wollte mich erkundigen, ob es weitere Möglichkeiten gibt, mit Hilfe der Java2D Api die Transformationsqualität zu beeinflussen.
Herzlichen Dank.
Lg
Es geht um folgendes. Bei einer Animation wird in meinem Programm on the fly eine Image einer Rotation, Translation und Skalierung unterzogen. Das sieht so aus:
Java:
public void drawSprite(Graphics2D g, double cog, double x, double y, double w, double h) {
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC);
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
pos_x = x;
pos_y = y;
transform.setToIdentity();
// Compute the corner, the drawing needs to start with
transform.translate(x - (w / 2.0), y - (h / 2.0));
transform.rotate(Math.toRadians(cog), w / 2.0, h / 2.0);
transform.scale(w / spriteWidth, h / spriteHeight);
g.drawImage(sprite, transform, null);
}
Meine Frage ergibt sich wie folgt - Ich habe wie im Qtext zu sehen verschiedene RenderingHints gesetzt um die Qualität der Rotation und Skalierung zu verbessern.
Allerdings habe ich den Eindruck, dass die Qualität dennoch überschaubar ist. Bei der Animation ist es nahezu möglich die Pixel der Kanten bei der Animation - der Veränderung pro Zeiteinheit - zu beobachten. Es handelt sich initial um ein hochauflösendes Bild von 528x528, dass auf ca. 20-30 Pixel runterskaliert wird.
Ich bin letztlich mit den Kanten nach der Rotation Weise unzufrieden und wollte mich erkundigen, ob es weitere Möglichkeiten gibt, mit Hilfe der Java2D Api die Transformationsqualität zu beeinflussen.
Herzlichen Dank.
Lg