# Bild ohne Quallitätsverlust skalieren



## Janeirio (29. Sep 2015)

Hallo liebes Forum,

Ich würde gerne mal von euch wissen wie ihr am besten Bilder an verschiedene Bildschirmauflösungen anpasst... Leider kann ich mir gar nicht vorstellen wie ich das anstellen soll da ich bisher immer nur Image Objekte mit Graphics oder Graphics2D zeichnen lassen habe.

die Graphics2D.setScale Methode ist leider nicht das was ich suche da sie die Bildquallität stark reduziert...

Kennt ihr vielleicht möglichkeiten in Java mit Vektor Grafiken oder ähnlichem zu arbeiten?

Ich möchte hier gar keine komplette Lösung zu dem Problem... mir reichen auch schlagwörter nach denen ich mal suchen könnte.

Vielen Dank im voraus

Viele Grüße
Martin


----------



## Sogomn (29. Sep 2015)

Was verstehst Du unter "Qualitätsverlust"? Natürlich leidet die Qualität beim Skalieren. Das ist einfach so.
Wenn man die Methode "getScaledInstance" der Klasse Image verwendet, kann man verschiedene Skalierungseinstellungen übergeben.


----------



## Thallius (30. Sep 2015)

Sogomn hat gesagt.:


> Was verstehst Du unter "Qualitätsverlust"? Natürlich leidet die Qualität beim Skalieren. Das ist einfach so.
> Wenn man die Methode "getScaledInstance" der Klasse Image verwendet, kann man verschiedene Skalierungseinstellungen übergeben.



Das stimmt natürlich so nicht. Der TO sprach von Vektor Grafiken. Eigentlich müßte das doch mit einem PDF Framework funktionieren oder?

Gruß

Claus


----------



## eldrior (30. Sep 2015)

Könnte Apache Batik vielleicht dein Problem lösen?


----------



## Sogomn (30. Sep 2015)

Achso. Es geht _nur_ um Vektorgrafiken. Ohne Bibliothek gibt's da keine Unterstützung, glaube ich.


----------



## Janeirio (30. Sep 2015)

Apache Batik sieht sehr vielversprechend aus, ich werde es die Tage mal versuchen damit umzusetzen vielen dank an euch alle =)

um noch eine Abschließende Frage zu stellen: Es geht bei dem Projekt um ein Point & Click Adventure dessen Grafikinhalt ich je nach Auflösung skalieren bzw. anpassen möchte. Habt ihr da vielleicht bessere Vorschläge als mit Vektorgrafiken zu arbeiten?

Viele Grüße
Martin


----------



## DrZoidberg (1. Okt 2015)

Du könntest deine Grafiken einfach mit ausreichend hoher Auflösung erstellen, so dass sie immer nur runterskaliert werden müssen.


----------



## InfectedBytes (1. Okt 2015)

Du könntest es ähnlich machen wie bei Android Apps. 
Du erstellst die Grafiken in mehreren Größen und benutzt die Grafiken die am ehesten passen:
falls Auflösung < 800*600: Nutze kleine Grafiken 64*64 pixel
falls Auflösung < 1600 * 900: Nutze mittlere Grafiken 128*128 pixel
ansonsten nutze große Grafiken: 256*256
Für alles dazwischen werden die Grafiken natürlich passend skaliert.

Der Vorteil hiervon ist eben, dass die qualitätsverlust in grenzen gehalten werden


----------



## eldrior (1. Okt 2015)

Vektorgrafiken sind mMn aber die sauberere Lösung. Wennn in 2 Jahren dann irgend ein Hersteller meint er müsse Bildschirme mit 32k Auflösung bauen, dann müsste man die normalen Grafiken schon wieder anpassen, Vektor funktioniert weiter
Das wird bei Schrift inzwischen ja nicht anders realisiert.


----------



## Janeirio (1. Okt 2015)

Vielen dank für die vielen Antworten und Vorschläge. Ich werde wohl bei Vektorgrafiken bleiben da es deutlich weniger Aufwand für die Zeichner ist und in die Lib arbeite ich mich sicher schnell ein.


----------



## Thallius (1. Okt 2015)

Ich bin aber nicht sicher ob du mit Vektorgrafiken die für ein Spiel notwendigen Framraten erzielen kannst.

Gruß

Claus


----------



## InfectedBytes (1. Okt 2015)

Janeirio hat gesagt.:


> Ich werde wohl bei Vektorgrafiken bleiben da es deutlich weniger Aufwand für die Zeichner ist


Würd ich so allgemein nicht sagen, es kommt ganz auf die grafiken an. 
Falls die Grafiken eher in richtung der DSA spiele gehen soll, sind PNGs oder ähnliches wesentlich einfacher zu erstellen.


----------

