Heim > Java > javaLernprogramm > Wie kann ich ein BufferedImage in Java richtig skalieren?

Wie kann ich ein BufferedImage in Java richtig skalieren?

Susan Sarandon
Freigeben: 2024-11-20 17:02:16
Original
394 Leute haben es durchsucht

How Can I Properly Scale a BufferedImage in Java?

Skalieren eines gepufferten Bildes: Eine umfassende Anleitung

Problemstellung

Ein Versuch der Skalierung Beim Erstellen eines BufferedImage mithilfe der Java-API stieß ein Entwickler mit dem folgenden Code auf ein erfolgloses Ergebnis:

BufferedImage image = MatrixToImageWriter.getBufferedImage(encoded);
Graphics2D grph = image.createGraphics();
grph.scale(2.0, 2.0);
grph.dispose();
Nach dem Login kopieren

Lösung

Während das Konzept der Skalierung eines BufferedImage mithilfe von Graphics2D. Obwohl die Funktion „scale()“ unkompliziert erscheint, ist es wichtig zu beachten, dass dieser Vorgang keine Auswirkungen auf die zugrunde liegenden Bilddaten hat. Um eine echte Skalierung zu erreichen, ist es notwendig, die Klasse AffineTransformOp zu verwenden, die erweiterte Flexibilität und Interpolationsoptionen bietet.

BufferedImage before = getBufferedImage(encoded);
int w = before.getWidth();
int h = before.getHeight();
BufferedImage after = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
AffineTransform at = new AffineTransform();
at.scale(2.0, 2.0);
AffineTransformOp scaleOp = new AffineTransformOp(at, AffineTransformOp.TYPE_BILINEAR);
after = scaleOp.filter(before, after);
Nach dem Login kopieren

Weitere Überlegungen

Der vorgestellte Codeausschnitt veranschaulicht dies Resampling, eine Technik, die ein neues Bild mit der gewünschten Größe erstellt und dabei das ursprüngliche Seitenverhältnis des Originalbilds beibehält. Im Gegensatz dazu wird das Zuschneiden, das sowohl die Größe als auch das Seitenverhältnis verändert, in einem separaten Thread behandelt. Darüber hinaus stehen verschiedene Beispiele verwandter Konzepte zur weiteren Erkundung zur Verfügung.

Das obige ist der detaillierte Inhalt vonWie kann ich ein BufferedImage in Java richtig skalieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage