Lesen und Schreiben von Bilddateien

Die gebräuchlichste Art, Bilder zu lesen, ist über die Konstruktoren von QImage und QPixmap oder durch den Aufruf der Funktionen QImage::load() und QPixmap::load(). Darüber hinaus bietet Qt die Klasse QImageReader, die mehr Kontrolle über den Prozess bietet. Abhängig von der zugrundeliegenden Unterstützung im Bildformat können die von der Klasse bereitgestellten Funktionen Speicher sparen und das Laden von Bildern beschleunigen.

Ebenso stellt Qt die Klasse QImageWriter zur Verfügung, die es ermöglicht, vor dem Speichern des Bildes formatspezifische Optionen wie Gammapegel, Kompressionsgrad und Qualität einzustellen. Wenn Sie solche Optionen nicht benötigen, können Sie stattdessen QImage::save() oder QPixmap::save() verwenden.

QMovie

QMovie ist eine Komfortklasse für die Anzeige von Animationen, die intern die Klasse QImageReader verwendet. Nach der Erstellung bietet die Klasse QMovie verschiedene Funktionen zum Ausführen und Steuern der jeweiligen Animation.

Die Klassen QImageReader und QImageWriter basieren auf der Klasse QImageIOHandler, die die gemeinsame Bild-E/A-Schnittstelle für alle Bildformate in Qt darstellt. QImageIOHandler Objekte werden intern von QImageReader und QImageWriter verwendet, um Qt Unterstützung für verschiedene Bildformate hinzuzufügen.

Eine Liste der unterstützten Dateiformate ist über die Funktionen QImageReader::supportedImageFormats() und QImageWriter::supportedImageFormats() verfügbar. Qt unterstützt standardmäßig mehrere Dateiformate, und darüber hinaus können neue Formate als Plugins hinzugefügt werden. Die derzeit unterstützten Formate sind in der Dokumentation der Klassen QImageReader und QImageWriter aufgeführt.

Der Plugin-Mechanismus von Qt kann auch verwendet werden, um einen eigenen Bildformat-Handler zu schreiben. Dazu wird von der Klasse QImageIOHandler abgeleitet und ein QImageIOPlugin Objekt erstellt, das eine Fabrik für die Erstellung von QImageIOHandler Objekten ist. Wenn das Plugin installiert ist, laden QImageReader und QImageWriter automatisch das Plugin und beginnen es zu verwenden.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.