In der Slick-Bibliothek (basierend auf LWJGL) können Sie Bilder skalieren, nachdem Sie sie mit getScaledCopy
geladen haben, aber es wird Anti-Aliasing angewendet. Ich möchte, dass die Kanten rau bleiben; Ich mache Pixelkunst. Wie kann ich das machen?Java Slick-Skalierung Bild ohne Kantenglättung
6
A
Antwort
7
Basierend auf den Kommentaren:
Die Dokumentation impliziert, dass die filter
property von Image
s steuert, wie Bilder skaliert werden. Um ein Bild zu skalieren, ohne Glättung, verwenden Sie die nearest neighbour filter:
Image original = …;
original.setFilter(Image.FILTER_NEAREST);
Image scaled = original.getScaledCopy();
wilde Vermutung basiert auf den javadocs: versuchen Sie es mit [ 'setFilter()'] (http://slick.cokeandcode.com/javadoc/org/newdawn/ slick/Image.html # setFilter (int)), um den Bildfilter auf ['FILTER_NEAREST'] (http://slick.cokeandcode.com/javadoc/org/newdawn/slick/Image.html#FILTER_NEAREST) zu setzen, bevor Sie die Skalierung vornehmen Bild. – millimoose
Das hat funktioniert, danke! Post diese Antwort und ich werde es akzeptieren;) – Jwosty