QPicture Class
Die Klasse QPicture ist ein Malgerät, das QPainter Befehle aufzeichnet und wiedergibt. Mehr...
Kopfzeile: | #include <QPicture> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
Vererbt: | QPaintDevice |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QPicture ist Teil von Implicitly Shared Classes.
Öffentliche Funktionen
QPicture(int formatVersion = -1) | |
QPicture(const QPicture &pic) | |
virtual | ~QPicture() |
QRect | boundingRect() const |
const char * | data() const |
bool | isNull() const |
bool | load(const QString &fileName) |
bool | load(QIODevice *dev) |
bool | play(QPainter *painter) |
bool | save(const QString &fileName) |
bool | save(QIODevice *dev) |
void | setBoundingRect(const QRect &r) |
virtual void | setData(const char *data, uint size) |
uint | size() const |
void | swap(QPicture &other) |
QPicture & | operator=(QPicture &&other) |
QPicture & | operator=(const QPicture &p) |
Zugehörige Nicht-Members
QDataStream & | operator<<(QDataStream &s, const QPicture &r) |
QDataStream & | operator>>(QDataStream &s, QPicture &r) |
Detaillierte Beschreibung
Ein Bild serialisiert Malbefehle an ein IO-Gerät in einem plattformunabhängigen Format. Sie werden manchmal auch als Metadateien bezeichnet.
Qt-Bilder verwenden ein proprietäres Binärformat. Im Gegensatz zu den nativen Bildformaten (Metadateien) vieler Windowssysteme gibt es bei Qt-Bildern keine Einschränkungen bezüglich des Inhalts. Alles, was auf ein Widget oder eine Pixmap gezeichnet werden kann (z.B. Schriften, Pixmaps, Regionen, transformierte Grafiken, etc.) kann auch in einem Bild gespeichert werden.
QPicture ist auflösungsunabhängig, d.h. ein QPicture kann auf verschiedenen Geräten (z.B. svg, pdf, ps, Drucker und Bildschirm) gleich dargestellt werden. Dies ist z.B. für die WYSIWYG-Druckvorschau erforderlich. QPicture läuft in der Standarddpi-Auflösung des Systems und skaliert den Painter, um Unterschiede in der Auflösung je nach Fenstersystem auszugleichen.
Beispiel für die Aufnahme eines Bildes:
QPicture picture; QPainter painter; painter.begin(&picture); // paint in picture painter.drawEllipse(10,20, 80,70); // draw an ellipse painter.end(); // painting done picture.save("drawing.pic"); // save picture
Beachten Sie, dass die Liste der Malerkommandos bei jedem Aufruf der Funktion QPainter::begin() zurückgesetzt wird.
Beispiel für die Wiedergabe eines Bildes:
QPicture picture; picture.load("drawing.pic"); // load picture QPainter painter; painter.begin(&myImage); // paint in myImage painter.drawPicture(0, 0, picture); // draw the picture at (0,0) painter.end(); // painting done
Bilder können auch mit play() gezeichnet werden. Einige grundlegende Daten über ein Bild sind verfügbar, zum Beispiel size(), isNull() und boundingRect().
Siehe auch QMovie.
Dokumentation der Mitgliedsfunktionen
[explicit]
QPicture::QPicture(int formatVersion = -1)
Konstruiert ein leeres Bild.
Der Parameter formatVersion kann verwendet werden, um ein QPicture zu erstellen, das von Anwendungen gelesen werden kann, die mit früheren Versionen von Qt kompiliert wurden.
Beachten Sie, dass die standardmäßige formatVersion -1 ist, was für die aktuelle Version steht, d.h. für Qt 4.0 ist eine formatVersion von 7 das gleiche wie die standardmäßige formatVersion von -1.
Das Lesen von Bildern, die von früheren Versionen von Qt erzeugt wurden, wird in Qt 4.0 nicht unterstützt.
QPicture::QPicture(const QPicture &pic)
Konstruiert eine Kopie von pic.
Dieser Konstruktor ist dank der impliziten Freigabe schnell.
[virtual noexcept]
QPicture::~QPicture()
Zerstört das Bild.
QRect QPicture::boundingRect() const
Liefert das begrenzende Rechteck des Bildes oder ein ungültiges Rechteck, wenn das Bild keine Daten enthält.
Siehe auch setBoundingRect().
const char *QPicture::data() const
Gibt einen Zeiger auf die Bilddaten zurück. Der Zeiger ist nur so lange gültig, bis die nächste nicht-konstante Funktion für dieses Bild aufgerufen wird. Der zurückgegebene Zeiger ist 0, wenn das Bild keine Daten enthält.
Siehe auch setData(), size(), und isNull().
bool QPicture::isNull() const
Gibt true
zurück, wenn das Bild keine Daten enthält; andernfalls wird false zurückgegeben.
bool QPicture::load(const QString &fileName)
Lädt ein Bild aus der durch fileName angegebenen Datei und gibt bei Erfolg true zurück; andernfalls wird das Bild ungültig gemacht und false
zurückgegeben.
Siehe auch save().
bool QPicture::load(QIODevice *dev)
Dies ist eine überladene Funktion.
dev ist das Gerät, das zum Laden verwendet wird.
bool QPicture::play(QPainter *painter)
Gibt das Bild unter Verwendung von painter wieder und gibt bei Erfolg true
zurück, andernfalls false
.
Diese Funktion tut genau das Gleiche wie QPainter::drawPicture() mit (x, y) = (0, 0).
Hinweis: Der Zustand des Malers wird von dieser Funktion nicht beibehalten.
bool QPicture::save(const QString &fileName)
Speichert ein Bild in der durch fileName angegebenen Datei und gibt bei Erfolg true zurück; andernfalls false
.
Siehe auch load().
bool QPicture::save(QIODevice *dev)
Dies ist eine überladene Funktion.
dev ist das Gerät, das zum Speichern verwendet werden soll.
void QPicture::setBoundingRect(const QRect &r)
Setzt das Begrenzungsrechteck des Bildes auf r. Der automatisch berechnete Wert wird außer Kraft gesetzt.
Siehe auch boundingRect().
[virtual]
void QPicture::setData(const char *data, uint size)
Stellt die Bilddaten direkt von data und size ein. Diese Funktion kopiert die Eingabedaten.
uint QPicture::size() const
Gibt die Größe der Bilddaten zurück.
Siehe auch data().
[noexcept]
void QPicture::swap(QPicture &other)
Tauscht dieses Bild mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.
[noexcept]
QPicture &QPicture::operator=(QPicture &&other)
Verschieben - weist other dieser QPicture Instanz zu.
QPicture &QPicture::operator=(const QPicture &p)
Weist diesem Bild p zu und gibt einen Verweis auf dieses Bild zurück.
Verwandte Nicht-Mitglieder
QDataStream &operator<<(QDataStream &s, const QPicture &r)
Schreibt das Bild r in den Stream s und gibt einen Verweis auf den Stream zurück.
QDataStream &operator>>(QDataStream &s, QPicture &r)
Liest ein Bild aus dem Stream s in das Bild r und gibt eine Referenz auf den Stream zurück.
© 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.