QImage Class
Die Klasse „QImage“ bietet eine hardwareunabhängige Bilddarstellung, die den direkten Zugriff auf die Pixeldaten ermöglicht und als Zeichenvorrichtung verwendet werden kann. Mehr...
| Header: | #include <QImage> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| Erbt von: | QPaintDevice |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QImage gehört zu den Mal-Klassen und den implizit gemeinsam genutzten Klassen.
Hinweis: Alle Funktionen dieser Klasse sind reentrant.
Öffentliche Typen
| enum | Format { Format_Invalid, Format_Mono, Format_MonoLSB, Format_Indexed8, Format_RGB32, …, Format_CMYK8888 } |
| enum | InvertMode { InvertRgb, InvertRgba } |
Öffentliche Funktionen
| QImage() | |
| QImage(const char *const[] xpm) | |
| QImage(const QSize &size, QImage::Format format) | |
| QImage(const QString &fileName, const char *format = nullptr) | |
| QImage(int width, int height, QImage::Format format) | |
| QImage(const uchar *data, int width, int height, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr) | |
| QImage(uchar *data, int width, int height, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr) | |
| QImage(const uchar *data, int width, int height, qsizetype bytesPerLine, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr) | |
| QImage(uchar *data, int width, int height, qsizetype bytesPerLine, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr) | |
| QImage(const QImage &image) | |
| QImage(QImage &&other) | |
| virtual | ~QImage() |
| bool | allGray() const |
| void | applyColorTransform(const QColorTransform &transform) |
(since 6.8) void | applyColorTransform(const QColorTransform &transform, QImage::Format toFormat, Qt::ImageConversionFlags flags = Qt::AutoColor) |
| int | bitPlaneCount() const |
| uchar * | bits() |
| const uchar * | bits() const |
| qsizetype | bytesPerLine() const |
| qint64 | cacheKey() const |
| QRgb | color(int i) const |
| int | colorCount() const |
| QColorSpace | colorSpace() const |
| QList<QRgb> | colorTable() const |
(since 6.4) QImage | colorTransformed(const QColorTransform &transform) const & |
(since 6.8) QImage | colorTransformed(const QColorTransform &transform, QImage::Format toFormat, Qt::ImageConversionFlags flags = Qt::AutoColor) const & |
(since 6.4) QImage | colorTransformed(const QColorTransform &transform) && |
(since 6.8) QImage | colorTransformed(const QColorTransform &transform, QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) && |
| const uchar * | constBits() const |
| const uchar * | constScanLine(int i) const |
| void | convertTo(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) |
| void | convertToColorSpace(const QColorSpace &colorSpace) |
(since 6.8) void | convertToColorSpace(const QColorSpace &colorSpace, QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) |
| QImage | convertToFormat(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) && |
| QImage | convertToFormat(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) const & |
| QImage | convertToFormat(QImage::Format format, const QList<QRgb> &colorTable, Qt::ImageConversionFlags flags = Qt::AutoColor) const |
(since 6.0) QImage | convertedTo(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) && |
(since 6.0) QImage | convertedTo(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) const & |
| QImage | convertedToColorSpace(const QColorSpace &colorSpace) const |
(since 6.8) QImage | convertedToColorSpace(const QColorSpace &colorSpace, QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) && |
(since 6.8) QImage | convertedToColorSpace(const QColorSpace &colorSpace, QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) const & |
| QImage | copy(const QRect &rectangle = QRect()) const |
| QImage | copy(int x, int y, int width, int height) const |
| QImage | createAlphaMask(Qt::ImageConversionFlags flags = Qt::AutoColor) const |
| QImage | createHeuristicMask(bool clipTight = true) const |
| QImage | createMaskFromColor(QRgb color, Qt::MaskMode mode = Qt::MaskInColor) const |
| int | depth() const |
(since 6.2) QSizeF | deviceIndependentSize() const |
| qreal | devicePixelRatio() const |
| int | dotsPerMeterX() const |
| int | dotsPerMeterY() const |
| void | fill(uint pixelValue) |
| void | fill(Qt::GlobalColor color) |
| void | fill(const QColor &color) |
(since 6.9) void | flip(Qt::Orientations orient = Qt::Vertical) |
(since 6.9) QImage | flipped(Qt::Orientations orient = Qt::Vertical) && |
(since 6.9) QImage | flipped(Qt::Orientations orient = Qt::Vertical) const & |
| QImage::Format | format() const |
| bool | hasAlphaChannel() const |
| int | height() const |
| void | invertPixels(QImage::InvertMode mode = InvertRgb) |
| bool | isGrayscale() const |
| bool | isNull() const |
| bool | load(const QString &fileName, const char *format = nullptr) |
| bool | load(QIODevice *device, const char *format) |
(since 6.2) bool | loadFromData(QByteArrayView data, const char *format = nullptr) |
| bool | loadFromData(const QByteArray &data, const char *format = nullptr) |
| bool | loadFromData(const uchar *data, int len, const char *format = nullptr) |
(since 6.0, until 6.13) void | mirror(bool horizontal = false, bool vertical = true) |
(until 6.13) QImage | mirrored(bool horizontal = false, bool vertical = true) && |
(until 6.13) QImage | mirrored(bool horizontal = false, bool vertical = true) const & |
| QPoint | offset() const |
| QRgb | pixel(const QPoint &position) const |
| QRgb | pixel(int x, int y) const |
| QColor | pixelColor(const QPoint &position) const |
| QColor | pixelColor(int x, int y) const |
| QPixelFormat | pixelFormat() const |
| int | pixelIndex(const QPoint &position) const |
| int | pixelIndex(int x, int y) const |
| QRect | rect() const |
| bool | reinterpretAsFormat(QImage::Format format) |
(since 6.0) void | rgbSwap() |
| QImage | rgbSwapped() && |
| QImage | rgbSwapped() const & |
| bool | save(const QString &fileName, const char *format = nullptr, int quality = -1) const |
| bool | save(QIODevice *device, const char *format = nullptr, int quality = -1) const |
| QImage | scaled(const QSize &size, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const |
| QImage | scaled(int width, int height, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const |
| QImage | scaledToHeight(int height, Qt::TransformationMode mode = Qt::FastTransformation) const |
| QImage | scaledToWidth(int width, Qt::TransformationMode mode = Qt::FastTransformation) const |
| uchar * | scanLine(int i) |
| const uchar * | scanLine(int i) const |
| void | setAlphaChannel(const QImage &alphaChannel) |
| void | setColor(int index, QRgb colorValue) |
| void | setColorCount(int colorCount) |
| void | setColorSpace(const QColorSpace &colorSpace) |
| void | setColorTable(const QList<QRgb> &colors) |
| void | setDevicePixelRatio(qreal scaleFactor) |
| void | setDotsPerMeterX(int x) |
| void | setDotsPerMeterY(int y) |
| void | setOffset(const QPoint &offset) |
| void | setPixel(const QPoint &position, uint index_or_rgb) |
| void | setPixel(int x, int y, uint index_or_rgb) |
| void | setPixelColor(const QPoint &position, const QColor &color) |
| void | setPixelColor(int x, int y, const QColor &color) |
| void | setText(const QString &key, const QString &text) |
| QSize | size() const |
| qsizetype | sizeInBytes() const |
| void | swap(QImage &other) |
| QString | text(const QString &key = QString()) const |
| QStringList | textKeys() const |
| CGImageRef | toCGImage() const |
(since 6.0) HBITMAP | toHBITMAP() const |
(since 6.0) HICON | toHICON(const QImage &mask = {}) const |
| QImage | transformed(const QTransform &matrix, Qt::TransformationMode mode = Qt::FastTransformation) const |
| bool | valid(const QPoint &pos) const |
| bool | valid(int x, int y) const |
| int | width() const |
| operator QVariant() const | |
| bool | operator!=(const QImage &image) const |
| QImage & | operator=(QImage &&other) |
| QImage & | operator=(const QImage &image) |
| bool | operator==(const QImage &image) const |
Statische öffentliche Mitglieder
(since 6.2) QImage | fromData(QByteArrayView data, const char*format = nullptr) |
| QImage | fromData(const QByteArray&data, const char*format = nullptr) |
| QImage | fromData(const uchar*data, int size, const char*format = nullptr) |
(since 6.0) QImage | fromHBITMAP(HBITMAP hbitmap) |
(since 6.0) QImage | fromHICON(HICON icon) |
| QImage::Format | toImageFormat(QPixelFormat format) |
| QPixelFormat | toPixelFormat(QImage::Format format) |
| QTransform | trueMatrix(const QTransform&matrix, int Breite, int Höhe) |
Verwandte Nicht-Mitglieder
| QImageCleanupFunction | |
| QDataStream & | operator<<(QDataStream &stream, const QImage &image) |
| QDataStream & | operator>>(QDataStream &stream, QImage &image) |
Ausführliche Beschreibung
Qt stellt vier Klassen zur Verarbeitung von Bilddaten bereit: QImage, QPixmap, QBitmap und QPicture. QImage ist für Ein- und Ausgabe sowie für den direkten Zugriff auf und die Bearbeitung von Pixeln konzipiert und optimiert, während QPixmap für die Darstellung von Bildern auf dem Bildschirm konzipiert und optimiert ist. QBitmap ist lediglich eine Komfortklasse, die von QPixmap erbt und eine Tiefe von 1 gewährleistet. Schließlich ist die Klasse „ QPicture “ ein Zeichen-Gerät, das „ QPainter “-Befehle aufzeichnet und wiederabspielt.
Da „QImage“ eine Unterklasse von „ QPaintDevice “ ist, kann „ QPainter “ verwendet werden, um direkt auf Bilder zu zeichnen. Bei Verwendung von „ QPainter “ auf einem „QImage“ kann das Zeichnen in einem anderen Thread als dem aktuellen GUI-Thread erfolgen.
Die Klasse `QImage` unterstützt mehrere Bildformate, die durch die Enumeration ` Format ` beschrieben werden. Dazu gehören monochrome, 8-Bit-, 32-Bit- und Alpha-Blend-Bilder, die in allen Versionen von Qt 4.x verfügbar sind.
QImage bietet eine Reihe von Funktionen, mit denen sich verschiedene Informationen über das Bild abrufen lassen. Außerdem gibt es mehrere Funktionen, die eine Transformation des Bildes ermöglichen.
QImage-Objekte können als Wert übergeben werden, da die QImage-Klasse implizite Datenfreigabe nutzt. QImage-Objekte können zudem gestreamt und verglichen werden.
Hinweis: Wenn Sie QImage-Objekte in einer statischen Qt-Build laden möchten, lesen Sie bitte das Plugin-HowTo.
Warnung: Das Zeichnen auf ein QImage mit dem Format „ QImage::Format_Indexed8 “ oder „ QImage::Format_CMYK8888 “ wird nicht unterstützt.
Lesen und Schreiben von Bilddateien
QImage bietet mehrere Möglichkeiten zum Laden einer Bilddatei: Die Datei kann beim Erstellen des QImage-Objekts geladen werden oder später mithilfe der Funktionen ` load()` oder ` loadFromData()`. QImage stellt außerdem die statische Funktion ` fromData()` zur Verfügung, die ein QImage-Objekt aus den angegebenen Daten erstellt. Beim Laden eines Bildes kann sich der Dateiname entweder auf eine tatsächliche Datei auf der Festplatte oder auf eine der in die Anwendung eingebetteten Ressourcen beziehen. Weitere Informationen zum Einbetten von Bildern und anderen Ressourcendateien in die ausführbare Datei der Anwendung finden Sie in der Übersicht zum Qt-Ressourcensystem.
Rufen Sie einfach die Funktion ` save()` auf, um ein `QImage`-Objekt zu speichern.
Die vollständige Liste der unterstützten Dateiformate ist über die Funktionen ` QImageReader::supportedImageFormats()` und ` QImageWriter::supportedImageFormats()` verfügbar. Neue Dateiformate können als Plugins hinzugefügt werden. Standardmäßig unterstützt Qt die folgenden Formate:
| Format | Beschreibung | Unterstützung durch Qt |
|---|---|---|
| BMP | Windows-Bitmap | Lesen/Schreiben |
| GIF | Graphic Interchange Format (optional) | Lesen |
| JPG | Joint Photographic Experts Group | Lesen/Schreiben |
| JPEG | Joint Photographic Experts Group | Lesen/Schreiben |
| PNG | Portable Network Graphics | Lesen/Schreiben |
| PBM | Portable Bitmap | Lesen |
| PGM | Portable Graymap | Lesen |
| PPM | Portable Pixmap | Lesen/Schreiben |
| XBM | X11-Bitmap | Lesen/Schreiben |
| XPM | X11-Pixmap | Lesen/Schreiben |
Bildinformationen
QImage bietet eine Reihe von Funktionen, mit denen sich verschiedene Informationen über das Bild abrufen lassen:
| Verfügbare Funktionen | |
|---|---|
| Geometrie | Die Funktionen ` size()`, ` width()`, ` height()`, ` dotsPerMeterX()` und ` dotsPerMeterY()` liefern Informationen zur Bildgröße und zum Seitenverhältnis. Die Funktion „ rect “ () gibt das umschließende Rechteck des Bildes zurück. Die Funktion „ valid “ () gibt an, ob ein bestimmtes Koordinatenpaar innerhalb dieses Rechtecks liegt. Die Funktion „ offset “ () gibt die Anzahl der Pixel zurück, um die das Bild relativ zu anderen Bildern versetzt werden soll; dies kann auch mithilfe der Funktion „ setOffset “ () gesteuert werden. |
| Farben | Die Farbe eines Pixels kann abgerufen werden, indem dessen Koordinaten an die Funktion ` pixel()` übergeben werden. Die Funktion ` pixel()` gibt die Farbe als ` QRgb `-Wert zurück, unabhängig vom Bildformat. Bei monochromen und 8-Bit-Bildern liefern die Funktionen ` colorCount()` und ` colorTable()` Informationen über die Farbkomponenten, die zur Speicherung der Bilddaten verwendet werden: Die Funktion ` colorTable()` gibt die gesamte Farbtabelle des Bildes zurück. Um einen einzelnen Eintrag zu erhalten, verwenden Sie die Funktion „ pixelIndex()“, um den Pixelindex für ein bestimmtes Koordinatenpaar abzurufen, und anschließend die Funktion „ color()“, um die Farbe abzurufen. Beachten Sie, dass Sie, wenn Sie ein 8-Bit-Bild manuell erstellen, dem Bild ebenfalls eine gültige Farbtabelle zuweisen müssen. Die Funktion „ hasAlphaChannel()“ gibt an, ob das Bildformat den Alphakanal berücksichtigt oder nicht. Die Funktionen „ allGray()“ und „ isGrayscale()“ geben an, ob die Farben eines Bildes ausschließlich aus Graustufen bestehen. Siehe auch die Abschnitte „ Pixel Manipulation “ und „ Image Transformations “. |
| Text | Die Funktion „ text()“ gibt den Bildtext zurück, der dem angegebenen Textschlüssel zugeordnet ist. Die Textschlüssel eines Bildes können mit der Funktion „ textKeys()“ abgerufen werden. Verwenden Sie die Funktion „ setText()“, um den Text eines Bildes zu ändern. |
| Informationen auf niedriger Ebene | Die Funktion ` depth()` gibt die Farbtiefe des Bildes zurück. Die unterstützten Farbtiefen sind 1 (monochrom), 8, 16, 24 und 32 Bit. Die Funktion ` bitPlaneCount()` gibt an, wie viele dieser Bits verwendet werden. Weitere Informationen finden Sie im Abschnitt „ Image Formats “. Die Funktionen „ format()“, „ bytesPerLine()“ und „ sizeInBytes()“ liefern Low-Level-Informationen über die im Bild gespeicherten Daten. Die Funktion ` cacheKey()` gibt eine Zahl zurück, die den Inhalt dieses `QImage`-Objekts eindeutig identifiziert. |
Pixelbearbeitung
Die Funktionen zur Bearbeitung der Bildpixel hängen vom Bildformat ab. Der Grund dafür ist, dass Monochrom- und 8-Bit-Bilder indexbasiert sind und eine Farbtabelle verwenden, während 32-Bit-Bilder ARGB-Werte direkt speichern. Weitere Informationen zu Bildformaten finden Sie im Abschnitt „ Image Formats “.
Bei einem 32-Bit-Bild kann die Funktion ` setPixel()` verwendet werden, um die Farbe des Pixels an den angegebenen Koordinaten in eine beliebige andere Farbe zu ändern, die als ARGB-Quadrupel angegeben wird. Um einen geeigneten „ QRgb “-Wert zu erzeugen, verwenden Sie die Funktion „ qRgb()“ (die den angegebenen RGB-Werten eine Standard-Alpha-Komponente hinzufügt, d. h. eine deckende Farbe erzeugt) oder die Funktion „ qRgba()“. Beispiel:
| 32-Bit | |
|---|---|
![]() | |
Bei 8-Bit- und monochromen Bildern ist der Pixelwert lediglich ein Index aus der Farbtabelle des Bildes. Daher kann die Funktion ` setPixel()` nur dazu verwendet werden, die Farbe des Pixels an den angegebenen Koordinaten in eine vordefinierte Farbe aus der Farbtabelle des Bildes zu ändern, d. h., sie kann lediglich den Indexwert des Pixels ändern. Um eine Farbe in der Farbtabelle eines Bildes zu ändern oder hinzuzufügen, verwenden Sie die Funktion ` setColor()`.
Ein Eintrag in der Farbtabelle ist ein ARGB-Quadrupel, das als „ QRgb “-Wert kodiert ist. Verwenden Sie die Funktionen „ qRgb()“ und „ qRgba()“, um einen geeigneten „ QRgb “-Wert für die Verwendung mit der Funktion „ setColor()“ zu erstellen. Zum Beispiel:
| 8-Bit | |
|---|---|
![]() | |
Für Bilder mit mehr als 8 Bit pro Farbkanal. Die Methoden ` setPixelColor()` und ` pixelColor()` können verwendet werden, um Werte mit ` QColor ` festzulegen und abzurufen.
QImage bietet außerdem die Funktion ` scanLine()`, die einen Zeiger auf die Pixeldaten an der Scanlinie mit dem angegebenen Index zurückgibt, sowie die Funktion ` bits()`, die einen Zeiger auf die ersten Pixeldaten zurückgibt (dies entspricht ` scanLine(0)`).
Bildformate
Jedes in einem QImage gespeicherte Pixel wird durch eine Ganzzahl dargestellt. Die Größe der Ganzzahl variiert je nach Format. QImage unterstützt mehrere Bildformate, die durch die Enumeration ` Format ` beschrieben werden.
Monochrome Bilder werden mithilfe von 1-Bit-Indizes in einer Farbtabelle mit höchstens zwei Farben gespeichert. Es gibt zwei verschiedene Arten von monochromen Bildern: Big-Endian- (MSB zuerst) oder Little-Endian- (LSB zuerst) Bitreihenfolge.
8-Bit-Bilder werden mithilfe von 8-Bit-Indizes in einer Farbtabelle gespeichert, d. h., sie haben ein einzelnes Byte pro Pixel. Die Farbtabelle ist ein ` QList<QRgb>`, und die Typdefinition ` QRgb ` entspricht einem `unsigned int`, der ein ARGB-Quadruplet im Format 0xAARRGGBB enthält.
32-Bit-Bilder haben keine Farbtabelle; stattdessen enthält jedes Pixel einen Wert vom Typ „ QRgb “. Es gibt drei verschiedene Arten von 32-Bit-Bildern, die jeweils RGB- (d. h. 0xffRRGGBB), ARGB- und vormultiplizierte ARGB-Werte speichern. Im vormultiplizierten Format werden die Rot-, Grün- und Blaukanäle mit der durch 255 geteilten Alpha-Komponente multipliziert.
Das Format eines Bildes kann mit der Funktion ` format()` abgerufen werden. Verwenden Sie die Funktionen ` convertToFormat()` und ` isGrayscale()`, um ein Bild in ein anderes Format zu konvertieren. Die Funktionen ` allGray()` und ` ()` geben an, ob ein Farbbild sicher in ein Graustufenbild konvertiert werden kann.
Bildtransformationen
QImage unterstützt eine Reihe von Funktionen zum Erstellen eines neuen Bildes, das eine transformierte Version des Originals darstellt: Die Funktion ` createAlphaMask()` erstellt und gibt eine 1-bpp-Maske aus dem Alpha-Puffer dieses Bildes zurück, und die Funktion ` createHeuristicMask()` erstellt und gibt eine 1-bpp-heuristische Maske für dieses Bild zurück. Die letztgenannte Funktion wählt eine Farbe aus einer der Ecken aus und entfernt dann Pixel dieser Farbe, beginnend an allen Rändern.
Die Funktion ` mirrored()` gibt ein Spiegelbild des Bildes in der gewünschten Richtung zurück, die Funktion ` scaled()` gibt eine auf ein Rechteck mit den gewünschten Abmessungen skalierte Kopie des Bildes zurück, und die Funktion ` rgbSwapped()` erstellt aus einem RGB-Bild ein BGR-Bild.
Die Funktionen ` scaledToWidth()` und ` scaledToHeight()` geben skalierte Kopien des Bildes zurück.
Die Funktion ` transformed()` gibt eine Kopie des Bildes zurück, die mit der angegebenen Transformationsmatrix und dem angegebenen Transformationsmodus transformiert wurde: Intern wird die Transformationsmatrix angepasst, um unerwünschte Verschiebungen auszugleichen, d. h., ` transformed()` gibt das kleinste Bild zurück, das alle transformierten Punkte des Originalbildes enthält. Die statische Funktion ` trueMatrix()` gibt die tatsächliche Matrix zurück, die zur Transformation des Bildes verwendet wurde.
Es gibt außerdem Funktionen zum Ändern von Bildattributen an Ort und Stelle:
| Funktion | Beschreibung |
|---|---|
| setDotsPerMeterX() | Legt das Seitenverhältnis fest, indem die Anzahl der Pixel festgelegt wird, die horizontal in einen physikalischen Meter passen. |
| setDotsPerMeterY() | Legt das Seitenverhältnis fest, indem die Anzahl der Pixel festgelegt wird, die vertikal in einen physikalischen Meter passen. |
| fill() | Füllt das gesamte Bild mit dem angegebenen Pixelwert. |
| invertPixels() | Invertiert alle Pixelwerte im Bild unter Verwendung des angegebenen „ InvertMode “-Werts. |
| setColorTable() | Legt die Farbtabelle fest, die zur Umwandlung von Farbindizes verwendet wird. Nur für monochrome und 8-Bit-Formate. |
| setColorCount() | Passen Sie die Größe der Farbtabelle an. Nur für monochrome und 8-Bit-Formate. |
Siehe auch „ QImageReader“ , „ QImageWriter “, „ QPixmap “, „ QSvgRenderer “, „Beispiel zur Bildkomposition“ und „Beispiel zum Kritzeln“.
Dokumentation zu Mitgliedstypen
enum QImage::Format
Die folgenden Bildformate sind in Qt verfügbar. Beachten Sie die Hinweise nach der Tabelle.
| Konstante | Wert | Beschreibung |
|---|---|---|
QImage::Format_Invalid | 0 | Das Bild ist ungültig. |
QImage::Format_Mono | 1 | Das Bild wird mit 1 Bit pro Pixel gespeichert. Die Bytes werden mit dem höchstwertigen Bit (MSB) voran gepackt. |
QImage::Format_MonoLSB | 2 | Das Bild wird mit 1 Bit pro Pixel gespeichert. Die Bytes werden mit dem niedrigstwertigen Bit (LSB) zuerst gepackt. |
QImage::Format_Indexed8 | 3 | Das Bild wird unter Verwendung von 8-Bit-Indizes in einer Farbtabelle gespeichert. |
QImage::Format_RGB32 | 4 | Das Bild wird im 32-Bit-RGB-Format (0xffRRGGBB) gespeichert. |
QImage::Format_ARGB32 | 5 | Das Bild wird im 32-Bit-ARGB-Format (0xAARRGGBB) gespeichert. |
QImage::Format_ARGB32_Premultiplied | 6 | Das Bild wird im vormultiplizierten 32-Bit-ARGB-Format (0xAARRGGBB) gespeichert, d. h., die Rot-, Grün- und Blaukanäle werden mit der durch 255 geteilten Alpha-Komponente multipliziert. (Wenn RR, GG oder BB einen höheren Wert als der Alphakanal haben, sind die Ergebnisse undefiniert.) Bestimmte Operationen (wie z. B. die Bildkomposition mittels Alpha-Blending) sind mit vorvermehrtem ARGB32 schneller als mit einfachem ARGB32. |
QImage::Format_RGB16 | 7 | Das Bild wird im 16-Bit-RGB-Format (5-6-5) gespeichert. |
QImage::Format_ARGB8565_Premultiplied | 8 | Das Bild wird im vormultiplizierten 24-Bit-ARGB-Format (8-5-6-5) gespeichert. |
QImage::Format_RGB666 | 9 | Das Bild wird im 24-Bit-RGB-Format (6-6-6) gespeichert. Die ungenutzten höchstwertigen Bits sind immer Null. |
QImage::Format_ARGB6666_Premultiplied | 10 | Das Bild wird im vormultiplizierten 24-Bit-ARGB-Format (6-6-6-6) gespeichert. |
QImage::Format_RGB555 | 11 | Das Bild wird im 16-Bit-RGB-Format (5-5-5) gespeichert. Das ungenutzte höchstwertige Bit ist immer Null. |
QImage::Format_ARGB8555_Premultiplied | 12 | Das Bild wird im vormultiplizierten 24-Bit-ARGB-Format (8-5-5-5) gespeichert. |
QImage::Format_RGB888 | 13 | Das Bild wird im 24-Bit-RGB-Format (8-8-8) gespeichert. |
QImage::Format_RGB444 | 14 | Das Bild wird im 16-Bit-RGB-Format (4-4-4) gespeichert. Die ungenutzten Bits sind immer Null. |
QImage::Format_ARGB4444_Premultiplied | 15 | Das Bild wird im vormultiplizierten 16-Bit-ARGB-Format (4-4-4-4) gespeichert. |
QImage::Format_RGBX8888 (since Qt 5.2) | 16 | Das Bild wird im 32-Bit-RGB(x)-Format mit Byte-Reihenfolge (8-8-8-8) gespeichert. Dies entspricht dem Format „Format_RGBA8888“, mit der Ausnahme, dass der Alpha-Wert immer 255 betragen muss. |
QImage::Format_RGBA8888 (since Qt 5.2) | 17 | Das Bild wird im 32-Bit-RGBA-Format mit Byte-Reihenfolge (8-8-8-8) gespeichert. |
QImage::Format_RGBA8888_Premultiplied (since Qt 5.2) | 18 | Das Bild wird im vormultiplizierten 32-Bit-RGBA-Format mit Byte-Reihenfolge (8-8-8-8) gespeichert. |
QImage::Format_BGR30 (since Qt 5.4) | 19 | Das Bild wird im 32-Bit-BGR-Format (x-10-10-10) gespeichert. |
QImage::Format_A2BGR30_Premultiplied (since Qt 5.4) | 20 | Das Bild wird im 32-Bit-ABGR-Format mit vorvervielfachtem Alpha (2-10-10-10) gespeichert. |
QImage::Format_RGB30 (since Qt 5.4) | 21 | Das Bild wird im 32-Bit-RGB-Format (x-10-10-10) gespeichert. |
QImage::Format_A2RGB30_Premultiplied (since Qt 5.4) | 22 | Das Bild wird im 32-Bit-ARGB-Format mit vorvervielfachten Werten (2-10-10-10) gespeichert. |
QImage::Format_Alpha8 (since Qt 5.5) | 23 | Das Bild wird im 8-Bit-Alpha-Format gespeichert. |
QImage::Format_Grayscale8 (since Qt 5.5) | 24 | Das Bild wird im 8-Bit-Graustufenformat gespeichert. |
QImage::Format_Grayscale16 (since Qt 5.13) | 28 | Das Bild wird im 16-Bit-Graustufenformat gespeichert. |
QImage::Format_RGBX64 (since Qt 5.12) | 25 | Das Bild wird im 64-Bit-RGB(x)-Format mit Halfword-Reihenfolge (16-16-16-16) gespeichert. Dies entspricht dem Format_RGBA64, mit der Ausnahme, dass der Alpha-Wert immer 65535 betragen muss. |
QImage::Format_RGBA64 (since Qt 5.12) | 26 | Das Bild wird in einem 64-Bit-RGBA-Format mit Halfword-Reihenfolge (16-16-16-16) gespeichert. |
QImage::Format_RGBA64_Premultiplied (since Qt 5.12) | 27 | Das Bild wird in einem vormultiplizierten 64-Bit-RGBA-Format mit Halbwortreihenfolge (16-16-16-16) gespeichert. |
QImage::Format_BGR888 (since Qt 5.14) | 29 | Das Bild wird im 24-Bit-BGR-Format gespeichert. |
QImage::Format_RGBX16FPx4 (since Qt 6.2) | 30 | Das Bild wird im RGBx-Format mit vier 16-Bit-Halbwörtern in Gleitkomma-Darstellung (16FP-16FP-16FP-16FP) gespeichert. Dies entspricht dem Format_RGBA16FPx4, mit der Ausnahme, dass der Alpha-Wert immer 1,0 betragen muss. |
QImage::Format_RGBA16FPx4 (since Qt 6.2) | 31 | Das Bild wird im RGBA-Format mit vier 16-Bit-Halbwort-Gleitkommazahlen (16FP-16FP-16FP-16FP) gespeichert. |
QImage::Format_RGBA16FPx4_Premultiplied (since Qt 6.2) | 32 | Das Bild wird im vorvervielfachten RGBA-Format mit vier 16-Bit-Halbwörtern im Gleitkomma-Format (16FP-16FP-16FP-16FP) gespeichert. |
QImage::Format_RGBX32FPx4 (since Qt 6.2) | 33 | Das Bild wird im Format „vier 32-Bit-Gleitkomma-RGBx“ (32FP-32FP-32FP-32FP) gespeichert. Dies entspricht dem Format „Format_RGBA32FPx4“, mit der Ausnahme, dass der Alpha-Wert immer 1,0 betragen muss. |
QImage::Format_RGBA32FPx4 (since Qt 6.2) | 34 | Das Bild wird im RGBA-Format mit vier 32-Bit-Gleitkomma-Halbwörtern (32FP-32FP-32FP-32FP) gespeichert. |
QImage::Format_RGBA32FPx4_Premultiplied (since Qt 6.2) | 35 | Das Bild wird in einem vormultiplizierten Format mit vier 32-Bit-Gleitkomma-RGBA-Werten (32FP-32FP-32FP-32FP) gespeichert. |
QImage::Format_CMYK8888 (since Qt 6.8) | 36 | Das Bild wird in einem 32-Bit-CMYK-Format mit Byte-Reihenfolge gespeichert. |
Byte-geordnete Formate haben eine Byte-Reihenfolge ( QPixelFormat::typeInterpretation) von QPixelFormat::UnsignedByte, was bedeutet, dass die einzelnen Farbkomponenten in einer festen Reihenfolge im Speicher abgelegt werden, z. B. 0xRR, 0xGG, 0xBB, 0xAA, unabhängig vom Endianness der Plattform. Diese Formate sollten als einzelne Bytes gelesen oder, wenn sie in größeren Blöcken gelesen werden, als „ QPixelFormat::BigEndian “ interpretiert werden.
Hinweis: Das Zeichnen in ein „ QImage “ mit dem Format „QImage::Format_Indexed8“ oder „QImage::Format_CMYK8888“ wird nicht unterstützt.
Hinweis: Vermeiden Sie es, die meisten dieser Formate direkt mit ` QPainter` zu rendern. Das Rendern ist am besten für die Formate ` Format_RGB32 ` und ` Format_ARGB32_Premultiplied ` optimiert, gefolgt von den Formaten ` Format_RGB16`, ` Format_RGBX8888`, ` Format_RGBA8888_Premultiplied`, ` Format_RGBX64 ` und ` Format_RGBA64_Premultiplied `.
Siehe auch format() und convertToFormat().
enum QImage::InvertMode
Dieser Enum-Typ dient dazu, zu beschreiben, wie Pixelwerte in der Funktion „ invertPixels()“ invertiert werden sollen.
| Konstante | Wert | Beschreibung |
|---|---|---|
QImage::InvertRgb | 0 | Nur die RGB-Werte invertieren und den Alphakanal unverändert lassen. |
QImage::InvertRgba | 1 | Invertiert alle Kanäle, einschließlich des Alphakanals. |
Siehe auch „ invertPixels()“.
Dokumentation der Member-Funktionen
[noexcept] QImage::QImage()
Erzeugt ein Nullbild.
Siehe auch ` isNull()`.
[explicit] QImage::QImage(const char *const[] xpm)
Erstellt ein Bild aus dem angegebenen „ xpm “-Bild.
Stellen Sie sicher, dass es sich um ein gültiges XPM-Bild handelt. Fehler werden stillschweigend ignoriert.
Beachten Sie, dass es möglich ist, die XPM-Variable durch eine ungewöhnliche Deklaration etwas zu komprimieren:
static const char * const start_xpm[] = {
"16 15 8 1",
"a c #cec6bd",
// etc.
};Das zusätzliche ` const ` macht die gesamte Definition schreibgeschützt, was etwas effizienter ist (z. B. wenn sich der Code in einer gemeinsam genutzten Bibliothek befindet) und die Speicherung im ROM zusammen mit der Anwendung ermöglicht.
QImage::QImage(const QSize &size, QImage::Format format)
Erstellt ein Image mit den angegebenen Werten für „ size “ und „ format “.
Wird kein Speicher zugewiesen, wird ein null -Bild zurückgegeben.
Warnung: Dadurch wird ein `QImage` mit nicht initialisierten Daten erstellt. Rufen Sie ` fill()` auf, um das Bild mit einem geeigneten Pixelwert zu füllen, bevor Sie es mit ` QPainter` zeichnen.
[explicit] QImage::QImage(const QString &fileName, const char *format = nullptr)
Erstellt ein Bild und versucht, das Bild aus der Datei mit der angegebenen URL „ fileName “ zu laden.
Der Loader versucht, das Bild unter Verwendung der angegebenen Bildformate ( format) zu lesen. Wenn das Bildformat ( format ) nicht angegeben ist (was der Standard ist), wird es anhand der Dateiendung und des Headers automatisch ermittelt. Weitere Informationen finden Sie unter {QImageReader::setAutoDetectImageFormat()}{QImageReader}.
Wenn das Laden des Bildes fehlgeschlagen ist, ist dieses Objekt ein Null-Bild.
Der Dateiname kann sich entweder auf eine tatsächliche Datei auf der Festplatte oder auf eine der in die Anwendung eingebetteten Ressourcen beziehen. Weitere Informationen zum Einbetten von Bildern und anderen Ressourcendateien in die ausführbare Datei der Anwendung finden Sie in der Übersicht zum Ressourcensystem.
Siehe auch isNull() und Reading and Writing Image Files.
QImage::QImage(int width, int height, QImage::Format format)
Erstellt ein Image mit den angegebenen Werten für „ width “, „ height “ und „ format “.
Wird kein Speicher zugewiesen, wird ein null -Bild zurückgegeben.
Warnung: Dadurch wird ein `QImage` mit nicht initialisierten Daten erstellt. Rufen Sie ` fill()` auf, um das Bild mit einem geeigneten Pixelwert zu füllen, bevor Sie es mit ` QPainter` zeichnen.
QImage::QImage(const uchar *data, int width, int height, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr)
Erstellt ein Bild mit den angegebenen Werten für „ width “, „ height “ und „ format “, wobei ein vorhandener schreibgeschützter Speicherpuffer „ data “ verwendet wird. Die Werte für „ width “ und „ height “ müssen in Pixeln angegeben werden, „ data “ muss 32-Bit-ausgerichtet sein, und jede Scanlinie der Daten im Bild muss ebenfalls 32-Bit-ausgerichtet sein.
Der Puffer muss während der gesamten Lebensdauer des QImage und aller Kopien, die nicht verändert oder anderweitig vom Originalpuffer getrennt wurden, gültig bleiben. Das Bild löscht den Puffer bei seiner Zerstörung nicht. Sie können einen Funktionszeiger ` cleanupFunction ` zusammen mit einem zusätzlichen Zeiger ` cleanupInfo ` angeben, der aufgerufen wird, wenn die letzte Kopie zerstört wird.
Wenn format ein indiziertes Farbformat ist, ist die Farbtabelle des Bildes anfangs leer und muss vor der Verwendung des Bildes mit setColorCount() oder setColorTable() ausreichend erweitert werden.
Im Gegensatz zum ähnlichen QImage-Konstruktor, der einen nicht-konstanten Datenpuffer entgegennimmt, verändert diese Version niemals den Inhalt des Puffers. Der Aufruf von ` QImage::bits()` liefert beispielsweise eine tiefe Kopie des Bildes und nicht den an den Konstruktor übergebenen Puffer. Dies ermöglicht die effiziente Erstellung eines QImage aus Rohdaten, ohne dass die Rohdaten verändert werden können.
QImage::QImage(uchar *data, int width, int height, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr)
Erstellt ein Bild mit den angegebenen Werten für „ width “, „ height “ und „ format “, wobei ein vorhandener Speicherpuffer „ data “ verwendet wird. Die Werte für „ width “ und „ height “ müssen in Pixeln angegeben werden, „ data “ muss 32-Bit-ausgerichtet sein, und jede Scanlinie der Daten im Bild muss ebenfalls 32-Bit-ausgerichtet sein.
Der Puffer muss während der gesamten Lebensdauer des QImage und aller Kopien, die nicht geändert oder anderweitig vom ursprünglichen Puffer getrennt wurden, gültig bleiben. Das Bild löscht den Puffer bei seiner Zerstörung nicht. Sie können einen Funktionszeiger cleanupFunction zusammen mit einem zusätzlichen Zeiger cleanupInfo bereitstellen, der aufgerufen wird, wenn die letzte Kopie zerstört wird.
Wenn „ format “ ein indexiertes Farbformat ist, ist die Farbtabelle des Bildes anfangs leer und muss vor der Verwendung des Bildes mit „ setColorCount()“ oder „ setColorTable()“ ausreichend erweitert werden.
QImage::QImage(const uchar *data, int width, int height, qsizetype bytesPerLine, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr)
Erstellt ein Bild mit den angegebenen Werten für „ width “, „ height “ und „ format “, wobei ein vorhandener Speicherpuffer „ data “ verwendet wird. Die Werte für „ width “ und „ height “ müssen in Pixeln angegeben werden. „ bytesPerLine “ gibt die Anzahl der Bytes pro Zeile (Stride) an.
Der Puffer muss während der gesamten Lebensdauer des QImage und aller Kopien, die nicht verändert oder anderweitig vom ursprünglichen Puffer getrennt wurden, gültig bleiben. Das Bild löscht den Puffer bei seiner Zerstörung nicht. Sie können einen Funktionszeiger cleanupFunction zusammen mit einem zusätzlichen Zeiger cleanupInfo angeben, der aufgerufen wird, wenn die letzte Kopie zerstört wird.
Wenn format ein indiziertes Farbformat ist, ist die Farbtabelle des Bildes anfangs leer und muss vor der Verwendung des Bildes mit setColorCount() oder setColorTable() ausreichend erweitert werden.
Im Gegensatz zum ähnlichen QImage-Konstruktor, der einen nicht-konstanten Datenpuffer entgegennimmt, verändert diese Version niemals den Inhalt des Puffers. Der Aufruf von ` QImage::bits()` liefert beispielsweise eine tiefe Kopie des Bildes zurück und nicht den an den Konstruktor übergebenen Puffer. Dies ermöglicht die effiziente Erstellung eines QImage aus Rohdaten, ohne dass die Rohdaten verändert werden können.
QImage::QImage(uchar *data, int width, int height, qsizetype bytesPerLine, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr)
Erstellt ein Bild mit den angegebenen Werten für „ width “, „ height “ und „ format “, wobei ein vorhandener Speicherpuffer „ data “ verwendet wird. Die Werte für „ width “ und „ height “ müssen in Pixeln angegeben werden. „ bytesPerLine “ gibt die Anzahl der Bytes pro Zeile (Stride) an.
Der Puffer muss während der gesamten Lebensdauer des QImage und aller Kopien, die nicht verändert oder anderweitig vom ursprünglichen Puffer getrennt wurden, gültig bleiben. Das Bild löscht den Puffer bei seiner Zerstörung nicht. Sie können einen Funktionszeiger cleanupFunction zusammen mit einem zusätzlichen Zeiger cleanupInfo bereitstellen, der aufgerufen wird, wenn die letzte Kopie zerstört wird.
Wenn format ein indexiertes Farbformat ist, ist die Farbtabelle des Bildes anfangs leer und muss vor der Verwendung des Bildes mit setColorCount() oder setColorTable() ausreichend erweitert werden.
QImage::QImage(const QImage &image)
Erstellt eine flache Kopie des angegebenen „ image “.
Weitere Informationen zu flachen Kopien finden Sie in der Dokumentation zu impliziter Datenfreigabe.
Siehe auch „ copy()“.
[noexcept] QImage::QImage(QImage &&other)
Erstellt eine QImage-Instanz und sorgt dafür, dass diese auf dasselbe Objekt verweist, auf das zuvor „ other “ verwiesen hat.
[virtual noexcept] QImage::~QImage()
Löscht das Bild und räumt auf.
bool QImage::allGray() const
Gibt „ true “ zurück, wenn alle Farben im Bild Graustufen sind (d. h., ihre Rot-, Grün- und Blaukomponenten sind gleich); andernfalls „false“.
Beachten Sie, dass diese Funktion bei Bildern ohne Farbtabelle langsam ist.
Siehe auch isGrayscale().
void QImage::applyColorTransform(const QColorTransform &transform)
Wendet die Farbtransformation „ transform “ auf alle Pixel im Bild an.
[since 6.8] void QImage::applyColorTransform(const QColorTransform &transform, QImage::Format toFormat, Qt::ImageConversionFlags flags = Qt::AutoColor)
Wendet die Farbtransformation „ transform “ auf alle Pixel des Bildes an und konvertiert das Bildformat in „ toFormat “.
Die angegebenen Bildkonvertierungs flags en steuern, wie die Bilddaten während des Formatkonvertierungsprozesses behandelt werden.
Diese Funktion wurde in Qt 6.8 eingeführt.
int QImage::bitPlaneCount() const
Gibt die Anzahl der Bit-Ebenen im Bild zurück.
Die Anzahl der Bit-Ebenen entspricht der Anzahl der Bits, die pro Pixel für Farb- und Transparenzinformationen zur Verfügung stehen. Diese unterscheidet sich von der Farbtiefe (d. h., sie ist kleiner als diese), wenn das Bildformat ungenutzte Bits enthält.
Siehe auch depth(), format() und Image Formats.
uchar *QImage::bits()
Gibt einen Zeiger auf die ersten Pixeldaten zurück. Dies entspricht „ scanLine(0)“.
Beachten Sie, dass „ QImage “ implizite Datenfreigabe verwendet. Diese Funktion führt eine tiefe Kopie der freigegebenen Pixeldaten durch und stellt so sicher, dass nur diese „ QImage “ den aktuellen Rückgabewert verwendet.
Siehe auch „ scanLine()“, „ sizeInBytes()“ und „ constBits()“.
const uchar *QImage::bits() const
Beachten Sie, dass „ QImage “ implizite Datenfreigabe verwendet, diese Funktion jedoch keine tiefe Kopie der freigegebenen Pixeldaten durchführt, da die zurückgegebenen Daten vom Typ „const“ sind.
Dies ist eine überladene Funktion.
qsizetype QImage::bytesPerLine() const
Gibt die Anzahl der Bytes pro Bild-Scanlinie zurück.
Dies entspricht ` sizeInBytes()` / ` height()`, wenn ` height()` ungleich Null ist.
Siehe auch ` scanLine()`.
qint64 QImage::cacheKey() const
Gibt eine Nummer zurück, die den Inhalt dieses „ QImage “-Objekts identifiziert. Verschiedene „ QImage “-Objekte können nur dann denselben Schlüssel haben, wenn sie sich auf denselben Inhalt beziehen.
Der Schlüssel ändert sich, wenn das Bild verändert wird.
QRgb QImage::color(int i) const
Gibt die Farbe in der Farbtabelle am Index i zurück. Die erste Farbe befindet sich am Index 0.
Die Farben in der Farbtabelle eines Bildes werden als ARGB-Quadrupletts (QRgb) angegeben. Verwenden Sie die Funktionen „ qAlpha()“, „ qRed()“, „ qGreen()“ und „ qBlue()“, um die Komponenten des Farbwerts abzurufen.
Siehe auch setColor(), pixelIndex() und Pixel Manipulation.
int QImage::colorCount() const
Gibt die Größe der Farbtabelle für das Bild zurück.
Beachten Sie, dass colorCount() für 32-bpp-Bilder den Wert 0 zurückgibt, da diese Bilder keine Farbtabellen verwenden, sondern die Pixelwerte stattdessen als ARGB-Quadruplet-Werte kodieren.
Siehe auch ` setColorCount()` und ` Image Information`.
QColorSpace QImage::colorSpace() const
Gibt den Farbraum des Bildes zurück, sofern ein Farbraum definiert ist.
Siehe auch ` setColorSpace()`.
QList<QRgb> QImage::colorTable() const
Gibt eine Liste der in der Farbtabelle des Bildes enthaltenen Farben zurück oder eine leere Liste, wenn das Bild keine Farbtabelle hat
Siehe auch setColorTable(), colorCount() und color().
[since 6.4] QImage QImage::colorTransformed(const QColorTransform &transform) const &
Gibt die Bildfarbe zurück, die mithilfe von „ transform “ auf alle Pixel des Bildes angewendet wurde.
Hinweis: Wenn „ transform “ einen Quellfarbraum hat, der mit dem Format dieses Bildes nicht kompatibel ist, wird ein Null- QImage zurückgegeben. Wenn „ transform “ einen Zielfarbraum hat, der mit dem Format dieses Bildes nicht kompatibel ist, wird das Bild ebenfalls in ein kompatibles Format konvertiert. Weitere Möglichkeiten zur Steuerung der Wahl des Zielpixelformats finden Sie in der Überladung dieser Methode mit drei Argumenten.
Diese Funktion wurde in Qt 6.4 eingeführt.
Siehe auch ` applyColorTransform()`.
[since 6.8] QImage QImage::colorTransformed(const QColorTransform &transform, QImage::Format toFormat, Qt::ImageConversionFlags flags = Qt::AutoColor) const &
Gibt die Bildfarbe zurück, die mithilfe von „ transform “ auf alle Pixel im Bild angewendet wurde, und liefert ein Bild im Format „ toFormat “.
Die angegebenen Bildkonvertierungs- flags en steuern, wie die Bilddaten während des Formatkonvertierungsprozesses behandelt werden.
Hinweis: Wenn „ transform “ einen Quellfarbraum aufweist, der mit dem Format dieses Bildes nicht kompatibel ist, oder einen Zielfarbraum, der nicht mit „ toFormat “ kompatibel ist, wird ein Null- QImage zurückgegeben.
Diese Funktion wurde in Qt 6.8 eingeführt.
Siehe auch ` applyColorTransform()`.
[since 6.4] QImage QImage::colorTransformed(const QColorTransform &transform) &&
Gibt die Bildfarbe zurück, die mithilfe von „ transform “ auf alle Pixel im Bild angewendet wurde.
Dies ist eine überladene Funktion.
Diese Funktion wurde in Qt 6.4 eingeführt.
Siehe auch ` applyColorTransform()`.
[since 6.8] QImage QImage::colorTransformed(const QColorTransform &transform, QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) &&
Gibt die Bildfarbe zurück, die mithilfe von „ transform “ auf alle Pixel im Bild angewendet wurde.
Dies ist eine überladene Funktion.
Diese Funktion wurde in Qt 6.8 eingeführt.
Siehe auch ` applyColorTransform()`.
const uchar *QImage::constBits() const
Gibt einen Zeiger auf die ersten Pixeldaten zurück.
Beachten Sie, dass „ QImage “ implizite Datenfreigabe verwendet, diese Funktion jedoch keine tiefe Kopie der freigegebenen Pixeldaten durchführt, da die zurückgegebenen Daten vom Typ „const“ sind.
Siehe auch „ bits()“ und „ constScanLine()“.
const uchar *QImage::constScanLine(int i) const
Gibt einen Zeiger auf die Pixeldaten der Scanlinie mit dem Index i zurück. Die erste Scanlinie hat den Index 0.
Die Scanline-Daten sind mindestens 32-Bit-ausgerichtet. Bei 64-Bit-Formaten folgt die Ausrichtung der nativen Ausrichtung von 64-Bit-Ganzzahlen (64-Bit für die meisten Plattformen, auf i386 jedoch 32-Bit).
Beachten Sie, dass „ QImage “ implizites Daten-Sharing verwendet, diese Funktion jedoch keine tiefe Kopie der gemeinsam genutzten Pixeldaten durchführt, da die zurückgegebenen Daten „const“ sind.
Siehe auch ` scanLine()` und ` constBits()`.
void QImage::convertTo(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor)
Konvertiert das Bild an Ort und Stelle in das angegebene format und trennt es gegebenenfalls ab.
Die angegebenen Bildkonvertierungs flags en steuern, wie die Bilddaten während des Konvertierungsprozesses behandelt werden.
Siehe auch ` convertedTo()`.
void QImage::convertToColorSpace(const QColorSpace &colorSpace)
Konvertiert das Bild in den Farbraum „ colorSpace “.
Wenn das Bild keinen gültigen Farbraum hat, führt die Methode keine Aktion aus.
Hinweis: Wenn „ colorSpace “ nicht mit dem aktuellen Format kompatibel ist, wird das Bild in ein kompatibles Format konvertiert.
Siehe auch „ convertedToColorSpace()“ und „ setColorSpace()“.
[since 6.8] void QImage::convertToColorSpace(const QColorSpace &colorSpace, QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor)
Konvertiert das Bild in die Formate „ colorSpace “ und „ format “.
Wenn das Bild keinen gültigen Farbraum aufweist, führt die Methode keine Aktion aus; dasselbe gilt, wenn der Farbraum nicht mit dem Format kompatibel ist.
Die angegebenen Bildkonvertierungs flags en steuern, wie die Bilddaten während des Formatkonvertierungsprozesses behandelt werden.
Diese Funktion wurde in Qt 6.8 eingeführt.
Siehe auch convertedToColorSpace() und setColorSpace().
QImage QImage::convertToFormat(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) &&
QImage QImage::convertToFormat(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) const &
Gibt eine Kopie des Bildes im angegebenen format zurück.
Die angegebenen Bildkonvertierungs flags en steuern, wie die Bilddaten während des Konvertierungsprozesses behandelt werden.
Siehe auch ` convertTo()` und ` Image Formats`.
QImage QImage::convertToFormat(QImage::Format format, const QList<QRgb> &colorTable, Qt::ImageConversionFlags flags = Qt::AutoColor) const
Gibt eine Kopie des Bildes zurück, das unter Verwendung des angegebenen „ colorTable “ in das angegebene „ format “ konvertiert wurde.
Die Konvertierung von RGB-Formaten in indizierte Formate ist ein ressourcenintensiver Vorgang und erfolgt nach dem einfachen „Nearest-Color“-Verfahren ohne Dithering.
Dies ist eine überladene Funktion.
[since 6.0] QImage QImage::convertedTo(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) &&
[since 6.0] QImage QImage::convertedTo(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) const &
Gibt eine Kopie des Bildes in der angegebenen Bild format zurück.
Die angegebenen Bildkonvertierungs flags en steuern, wie die Bilddaten während des Konvertierungsprozesses behandelt werden.
Diese Funktionen wurden in Qt 6.0 eingeführt.
Siehe auch ` convertTo()` und ` Image Formats`.
QImage QImage::convertedToColorSpace(const QColorSpace &colorSpace) const
Gibt das in den Farbraum „ colorSpace “ konvertierte Bild zurück.
Wenn das Bild keinen gültigen Farbraum hat, wird ein Nullwert für ` QImage ` zurückgegeben.
Hinweis: Wenn „ colorSpace “ nicht mit dem aktuellen Format kompatibel ist, wird das zurückgegebene Bild ebenfalls in ein Format konvertiert, das kompatibel ist. Für mehr Kontrolle über das Format des zurückgegebenen Bildes siehe die Überladung dieser Methode mit drei Argumenten.
Siehe auch ` convertToColorSpace()` und ` colorTransformed()`.
[since 6.8] QImage QImage::convertedToColorSpace(const QColorSpace &colorSpace, QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) &&
[since 6.8] QImage QImage::convertedToColorSpace(const QColorSpace &colorSpace, QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor) const &
Gibt das Bild zurück, das in die Farbräume „ colorSpace “ und „ format “ konvertiert wurde.
Wenn das Bild keinen gültigen Farbraum hat, wird ein null- QImage zurückgegeben.
Die angegebenen Bildkonvertierungs flags en steuern, wie die Bilddaten während des Formatkonvertierungsprozesses behandelt werden.
Diese Funktionen wurden in Qt 6.8 eingeführt.
Siehe auch colorTransformed().
QImage QImage::copy(const QRect &rectangle = QRect()) const
Gibt einen Teilbereich des Bildes als neues Bild zurück.
Das zurückgegebene Bild wird von der Position (rectangle.x(), rectangle.y()) in diesem Bild kopiert und hat stets die Größe des angegebenen rectangle.
In Bereichen außerhalb dieses Bildes werden die Pixel auf 0 gesetzt. Bei 32-Bit-RGB-Bildern bedeutet dies Schwarz; bei 32-Bit-ARGB-Bildern bedeutet dies transparentes Schwarz; bei 8-Bit-Bildern bedeutet dies die Farbe mit dem Index 0 in der Farbtabelle, die beliebig sein kann; bei 1-Bit-Bildern bedeutet dies Qt::color0.
Ist das angegebene Rechteck „ rectangle “ ein Null-Rechteck, wird das gesamte Bild kopiert.
Siehe auch ` QImage()`.
QImage QImage::copy(int x, int y, int width, int height) const
Das zurückgegebene Bild wird von der Position (x, y) in diesem Bild kopiert und weist stets die angegebenen Werte width und height auf. In Bereichen außerhalb dieses Bildes werden die Pixel auf 0 gesetzt.
Dies ist eine überladene Funktion.
QImage QImage::createAlphaMask(Qt::ImageConversionFlags flags = Qt::AutoColor) const
Erstellt und gibt eine 1-bpp-Maske aus dem Alpha-Puffer dieses Bildes zurück. Gibt ein Nullbild zurück, wenn das Bildformat „ QImage::Format_RGB32 “ ist.
Das Argument ` flags ` ist ein bitweises ODER aus den Flags ` Qt::ImageConversionFlags` und steuert den Konvertierungsprozess. Wird für die Flags der Wert 0 übergeben, werden alle Standardoptionen gesetzt.
Das zurückgegebene Bild hat die Bitreihenfolge „Little-Endian“ (d. h., das Bildformat ist „ QImage::Format_MonoLSB “), die Sie mit der Funktion „ convertToFormat()“ in „Big-Endian“ (QImage::Format_Mono) konvertieren können.
Siehe auch createHeuristicMask() und Image Transformations.
QImage QImage::createHeuristicMask(bool clipTight = true) const
Erstellt eine heuristische Maske mit 1 bpp für dieses Bild und gibt sie zurück.
Die Funktion wählt eine Farbe aus einer der Ecken aus und entfernt dann Pixel dieser Farbe, beginnend an allen Rändern. Die vier Ecken entscheiden gemeinsam, welche Farbe ausgeblendet werden soll. Bei Stimmengleichheit (was in der Regel bedeutet, dass diese Funktion für das Bild nicht anwendbar ist) ist das Ergebnis willkürlich.
Das zurückgegebene Bild hat eine Little-Endian-Bitreihenfolge (d. h., das Bildformat lautet „ QImage::Format_MonoLSB “), die Sie mithilfe der Funktion „ convertToFormat()“ in Big-Endian („QImage::Format_Mono “) konvertieren können.
Ist clipTight wahr (Standard), ist die Maske gerade groß genug, um die Pixel abzudecken; andernfalls ist die Maske größer als die Datenpixel.
Beachten Sie, dass diese Funktion den Alpha-Puffer ignoriert.
Siehe auch createAlphaMask() und Image Transformations.
QImage QImage::createMaskFromColor(QRgb color, Qt::MaskMode mode = Qt::MaskInColor) const
Erstellt und gibt eine Maske für dieses Bild basierend auf dem angegebenen Wert „ color “ zurück. Wenn „ mode “ auf „MaskInColor“ gesetzt ist (Standardwert), werden alle Pixel, die der Farbe „ color “ entsprechen, in der Maske als undurchsichtig dargestellt. Wenn „ mode “ auf „MaskOutColor“ gesetzt ist, werden alle Pixel, die der angegebenen Farbe entsprechen, als transparent dargestellt.
Siehe auch „ createAlphaMask()“ und „ createHeuristicMask()“.
int QImage::depth() const
Gibt die Bildtiefe zurück.
Die Bildtiefe ist die Anzahl der Bits, die zur Speicherung eines einzelnen Pixels verwendet werden, auch „Bits pro Pixel“ (bpp) genannt.
Die unterstützten Farbtiefen sind 1, 8, 16, 24, 32 und 64.
Siehe auch bitPlaneCount(), convertToFormat(), Image Formats und Image Information.
[since 6.2] QSizeF QImage::deviceIndependentSize() const
Gibt die Größe des Bildes in geräteunabhängigen Pixeln zurück.
Dieser Wert sollte verwendet werden, wenn die Bildgröße in Berechnungen zur Größe der Benutzeroberfläche herangezogen wird.
Der Rückgabewert entspricht image.size() / image.devicePixelRatio().
Diese Funktion wurde in Qt 6.2 eingeführt.
qreal QImage::devicePixelRatio() const
Gibt das Gerätepixelverhältnis für das Bild zurück. Dies ist das Verhältnis zwischen Gerätepixeln und geräteunabhängigen Pixeln.
Verwenden Sie diese Funktion bei der Berechnung der Layout-Geometrie auf Basis der Bildgröße: ` QSize layoutSize = image.size() / image.devicePixelRatio()`
Der Standardwert ist 1,0.
Siehe auch „ setDevicePixelRatio()“ und „ QImageReader “.
int QImage::dotsPerMeterX() const
Gibt die Anzahl der Pixel zurück, die horizontal in einen physikalischen Meter passen. Zusammen mit dotsPerMeterY() definiert diese Zahl den beabsichtigten Maßstab und das Seitenverhältnis des Bildes.
Siehe auch setDotsPerMeterX() und Image Information.
int QImage::dotsPerMeterY() const
Gibt die Anzahl der Pixel zurück, die vertikal in einen physikalischen Meter passen. Zusammen mit dotsPerMeterX() definiert diese Zahl den beabsichtigten Maßstab und das Seitenverhältnis des Bildes.
Siehe auch „ setDotsPerMeterY()“ und „ Image Information “.
void QImage::fill(uint pixelValue)
Füllt das gesamte Bild mit dem angegebenen Wert „ pixelValue “.
Wenn die Tiefe dieses Bildes 1 beträgt, wird nur das niedrigste Bit verwendet. Wenn Sie „fill(0)“, „fill(2)“ usw. angeben, wird das Bild mit Nullen gefüllt. Wenn Sie „fill(1)“, „fill(3)“ usw. angeben, wird das Bild mit Einsen gefüllt. Bei einer Farbtiefe von 8 werden die untersten 8 Bits verwendet, bei einer Farbtiefe von 16 die untersten 16 Bits.
Ist die Bildtiefe größer als 32 Bit, ist das Ergebnis undefiniert.
Hinweis: Es gibt keine entsprechenden Getter-Funktionen, allerdings gibt „ QImage::pixelIndex()“ bei indizierten Formaten denselben Wert zurück und „ QImage::pixel()“ bei den Formaten RGB32, ARGB32 und ARGB32PM.
Siehe auch depth() und Image Transformations.
void QImage::fill(Qt::GlobalColor color)
Füllt das Bild mit der angegebenen Farbe „ color “, die als globale Standardfarbe definiert ist.
Dies ist eine überladene Funktion.
void QImage::fill(const QColor &color)
Füllt das gesamte Bild mit dem angegebenen „ color “ auf.
Wenn die Bildtiefe 1 beträgt, wird das Bild mit 1 gefüllt, sofern color gleich Qt::color1 ist; andernfalls wird es mit 0 gefüllt.
Wenn die Bildtiefe 8 beträgt, wird das Bild mit dem Index gefüllt, der dem Wert „ color “ in der Farbtabelle entspricht, sofern dieser vorhanden ist; andernfalls wird es mit 0 gefüllt.
Dies ist eine überladene Funktion.
[since 6.9] void QImage::flip(Qt::Orientations orient = Qt::Vertical)
Spiegelt das Bild je nach der Einstellung „ orient “ in horizontaler und/oder vertikaler Richtung.
Diese Funktion wurde in Qt 6.9 eingeführt.
Siehe auch flipped(Qt::Orientations) und Image Transformations.
[since 6.9] QImage QImage::flipped(Qt::Orientations orient = Qt::Vertical) &&
[since 6.9] QImage QImage::flipped(Qt::Orientations orient = Qt::Vertical) const &
Gibt eine gedrehte oder gespiegelte Version des Bildes zurück, die je nach der Einstellung von ` orient` in horizontaler und/oder vertikaler Richtung gespiegelt ist.
Beachten Sie, dass das Originalbild nicht verändert wird.
Diese Funktionen wurden in Qt 6.9 eingeführt.
Siehe auch flip(Qt::Orientations) und Image Transformations.
QImage::Format QImage::format() const
Gibt das Format des Bildes zurück.
Siehe auch Image Formats.
[static, since 6.2] QImage QImage::fromData(QByteArrayView data, const char *format = nullptr)
Erstellt ein Bild aus den angegebenen Werten „ QByteArrayView “ und „ data “. Der Loader versucht, das Bild mithilfe des angegebenen „ format “ zu lesen. Wenn „ format “ nicht angegeben ist (was der Standard ist), durchsucht der Loader die Daten nach einem Header, um das Dateiformat zu ermitteln.
Wenn „ format “ angegeben ist, muss es sich um einen der Werte handeln, die von „ QImageReader::supportedImageFormats()“ zurückgegeben werden.
Wenn das Laden des Bildes fehlschlägt, wird ein Nullbild zurückgegeben.
Diese Funktion wurde in Qt 6.2 eingeführt.
Siehe auch ` load()`, ` save()` und ` Reading and Writing Image Files`.
[static] QImage QImage::fromData(const QByteArray &data, const char *format = nullptr)
Erzeugt ein ` QImage ` aus den angegebenen ` QByteArray ` und ` data`.
Dies ist eine überladene Funktion.
[static] QImage QImage::fromData(const uchar *data, int size, const char *format = nullptr)
Erstellt ein ` QImage ` aus den ersten ` size ` Bytes der angegebenen Binärdatei ` data`.
Dies ist eine überladene Funktion.
[static, since 6.0] QImage QImage::fromHBITMAP(HBITMAP hbitmap)
Gibt ein ` QImage ` zurück, das dem angegebenen ` hbitmap` entspricht.
HBITMAP speichert keine Informationen über den Alphakanal.
Im Standardfall wird der Alphakanal ignoriert und ein vollständig undurchsichtiges Bild erstellt (typischerweise im Format „ QImage::Format_RGB32 “).
Es gibt jedoch Fälle, in denen der Alphakanal verwendet wird, beispielsweise bei Anwendungs- oder Systemablage-Symbolen. In diesem Fall sollte die Funktion ` reinterpretAsFormat(QImage::Format_ARGB32) ` für das zurückgegebene Bild aufgerufen werden, um sicherzustellen, dass das Format korrekt ist.
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch ` toHBITMAP()` und ` reinterpretAsFormat()`.
[static, since 6.0] QImage QImage::fromHICON(HICON icon)
Gibt ein ` QImage ` zurück, das dem angegebenen ` icon` entspricht.
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch ` toHICON()`.
bool QImage::hasAlphaChannel() const
Gibt „ true “ zurück, wenn das Bild ein Format hat, das den Alphakanal berücksichtigt; andernfalls wird „ false “ zurückgegeben.
Siehe auch „ Image Information “.
int QImage::height() const
Gibt die Höhe des Bildes zurück.
Siehe auch „ Image Information “.
void QImage::invertPixels(QImage::InvertMode mode = InvertRgb)
Kehrt alle Pixelwerte im Bild um.
Die angegebenen Invertierungs mode en sind nur dann von Bedeutung, wenn die Bildtiefe 32 beträgt. Der Standard mode ist „ InvertRgb “, wodurch der Alphakanal unverändert bleibt. Wenn der „ mode “ auf „ InvertRgba “ gesetzt ist, werden auch die Alpha-Bits invertiert.
Das Invertieren eines 8-Bit-Bildes bedeutet, alle Pixel mit dem Farbindex i durch ein Pixel mit dem Farbindex 255 minus i zu ersetzen. Das Gleiche gilt für ein 1-Bit-Bild. Beachten Sie, dass die Farbtabelle nicht verändert wird.
Verfügt das Bild über einen vormultiplizierten Alphakanal, wird es zur Invertierung zunächst in ein nicht vormultipliziertes Bildformat konvertiert und anschließend wieder zurückkonvertiert.
Siehe auch „ Image Transformations “.
bool QImage::isGrayscale() const
Bei 32-Bit-Bildern entspricht diese Funktion der Funktion „ allGray()“.
Bei farbindizierten Bildern gibt diese Funktion „ true “ zurück, wenn „color(i)“ für alle Indizes der Farbtabelle den Wert „ QRgb(i, i, i)“ hat; andernfalls wird „ false “ zurückgegeben.
Siehe auch „ allGray()“ und „ Image Formats “.
bool QImage::isNull() const
Gibt „ true “ zurück, wenn es sich um ein Null-Bild handelt, andernfalls „ false “.
Bei einem Null-Bild sind alle Parameter auf Null gesetzt und es sind keine Daten zugewiesen.
bool QImage::load(const QString &fileName, const char *format = nullptr)
Lädt ein Bild aus der Datei mit der angegebenen Dateiendung („ fileName “) . Gibt „ true “ zurück, wenn das Bild erfolgreich geladen wurde; andernfalls wird das Bild ungültig gemacht und „ false “ zurückgegeben.
Der Loader versucht, das Bild unter Verwendung des angegebenen format s (z. B. PNG oder JPG) zu lesen. Wenn kein format angegeben ist (was der Standard ist), wird dieser anhand der Dateiendung und des Headers automatisch ermittelt. Weitere Informationen finden Sie unter QImageReader::setAutoDetectImageFormat().
Der Dateiname kann sich entweder auf eine tatsächliche Datei auf der Festplatte oder auf eine der in die Anwendung eingebetteten Ressourcen beziehen. Weitere Informationen zum Einbetten von Bildern und anderen Ressourcendateien in die ausführbare Datei der Anwendung finden Sie in der Übersicht zum Ressourcensystem.
Siehe auch Reading and Writing Image Files.
bool QImage::load(QIODevice *device, const char *format)
Diese Funktion liest ein ` QImage ` aus der angegebenen ` device` ein. Dies kann beispielsweise dazu verwendet werden, ein Bild direkt in ein ` QByteArray` zu laden.
Dies ist eine überladene Funktion.
[since 6.2] bool QImage::loadFromData(QByteArrayView data, const char *format = nullptr)
Lädt ein Bild aus der angegebenen Bilddatei QByteArrayView data . Gibt „ true “ zurück, wenn das Bild erfolgreich geladen wurde; andernfalls wird das Bild ungültig gemacht und „ false “ zurückgegeben.
Der Loader versucht, das Bild unter Verwendung des angegebenen format, z. B. PNG oder JPG, zu lesen. Wenn format nicht angegeben ist (was die Standardeinstellung ist), durchsucht der Loader die Datei nach einem Header, um das Dateiformat zu ermitteln.
Diese Funktion wurde in Qt 6.2 eingeführt.
Siehe auch „ Reading and Writing Image Files “.
bool QImage::loadFromData(const QByteArray &data, const char *format = nullptr)
Lädt ein Bild von der angegebenen URL QByteArray data .
Dies ist eine überladene Funktion.
bool QImage::loadFromData(const uchar *data, int len, const char *format = nullptr)
Lädt ein Bild aus den ersten len Bytes der angegebenen Binärdatei data.
Dies ist eine überladene Funktion.
[since 6.0, until 6.13] void QImage::mirror(bool horizontal = false, bool vertical = true)
Diese Funktion soll in Version 6.13 als veraltet markiert werden.
Verwenden Sie stattdessen flip(Qt::Orientations).
Spiegelt das Bild in horizontaler und/oder vertikaler Richtung, je nachdem, ob „ horizontal “ und „ vertical “ auf „true“ oder „false“ gesetzt sind.
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch mirrored() und Image Transformations.
[until 6.13] QImage QImage::mirrored(bool horizontal = false, bool vertical = true) &&
[until 6.13] QImage QImage::mirrored(bool horizontal = false, bool vertical = true) const &
Diese Funktion wird in Version 6.13 als veraltet markiert.
Verwenden Sie stattdessen `flipped(Qt::Orientations)`.
Gibt ein Spiegelbild des Bildes zurück, das je nachdem, ob „ horizontal “ und „ vertical “ auf „true“ oder „false“ gesetzt sind, in horizontaler und/oder vertikaler Richtung gespiegelt wird.
Beachten Sie, dass das Originalbild nicht verändert wird.
Siehe auch mirror() und Image Transformations.
QPoint QImage::offset() const
Gibt die Anzahl der Pixel zurück, um die das Bild bei der Positionierung relativ zu anderen Bildern versetzt werden soll.
Siehe auch setOffset() und Image Information.
QRgb QImage::pixel(const QPoint &position) const
Gibt die Farbe des Pixels an der angegebenen Koordinate position zurück.
Ist die Koordinate ` position ` ungültig, ist das Ergebnis undefiniert.
Warnung: Diese Funktion ist bei umfangreichen Pixelbearbeitungen rechenintensiv. Verwenden Sie „ constBits()“ oder „ constScanLine()“, wenn viele Pixel gelesen werden müssen.
Siehe auch setPixel(), valid(), constBits(), constScanLine() und Pixel Manipulation.
QRgb QImage::pixel(int x, int y) const
Gibt die Farbe des Pixels an den Koordinaten (x, y) zurück.
Dies ist eine überladene Funktion.
QColor QImage::pixelColor(const QPoint &position) const
Gibt die Farbe des Pixels an der angegebenen Koordinate ` position ` als ` QColor` zurück.
Ist die Koordinate ` position ` ungültig, wird ein ungültiger Wert ` QColor ` zurückgegeben.
Warnung: Diese Funktion ist bei umfangreichen Pixelbearbeitungen rechenintensiv. Verwenden Sie „ constBits()“ oder „ constScanLine()“, wenn viele Pixel gelesen werden müssen.
Siehe auch setPixelColor(), setPixel(), valid(), constBits(), constScanLine() und Pixel Manipulation.
QColor QImage::pixelColor(int x, int y) const
Gibt die Farbe des Pixels an den Koordinaten (x, y) als „ QColor “ zurück.
Dies ist eine überladene Funktion.
[noexcept] QPixelFormat QImage::pixelFormat() const
Gibt die „ QImage::Format “ als QPixelFormat
int QImage::pixelIndex(const QPoint &position) const
Gibt den Pixelindex an der angegebenen Adresse position zurück.
Ist ` position ` ungültig oder handelt es sich bei dem Bild nicht um ein Palettenbild (`depth()` > 8), sind die Ergebnisse undefiniert.
Siehe auch valid(), depth() und Pixel Manipulation.
int QImage::pixelIndex(int x, int y) const
Gibt den Pixelindex an der Stelle (x, y) zurück.
Dies ist eine überladene Funktion.
QRect QImage::rect() const
Gibt das umschließende Rechteck (0, 0, width(), height()) des Bildes zurück.
Siehe auch ` Image Information`.
bool QImage::reinterpretAsFormat(QImage::Format format)
Ändert das Format des Bildes in „ format “, ohne die Daten zu verändern. Funktioniert nur zwischen Formaten gleicher Tiefe.
Gibt bei Erfolg „ true “ zurück.
Diese Funktion kann verwendet werden, um Bilder mit Alphakanälen in die entsprechenden opaken Formate umzuwandeln, wenn bekannt ist, dass die Daten ausschließlich opak sind, oder um das Format eines bestimmten Bildpuffers zu ändern, bevor dieser mit neuen Daten überschrieben wird.
Warnung: Die Funktion prüft nicht, ob die Bilddaten im neuen Format gültig sind, und gibt dennoch „ true “ zurück, sofern die Farbtiefen kompatibel sind. Operationen an einem Bild mit ungültigen Daten sind undefiniert.
Warnung: Wenn das Bild nicht freigegeben ist, führt dies dazu, dass die Daten kopiert werden.
Siehe auch ` hasAlphaChannel()` und ` convertToFormat()`.
[since 6.0] void QImage::rgbSwap()
Tauscht die Werte der roten und blauen Komponenten aller Pixel aus und wandelt so ein RGB-Bild in ein BGR-Bild um.
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch „ rgbSwapped()“ und „ Image Transformations “.
Gibt ein „ QImage “ zurück, bei dem die Werte der roten und blauen Komponenten aller Pixel vertauscht wurden, wodurch ein RGB-Bild effektiv in ein BGR-Bild umgewandelt wird.
Das ursprüngliche ` QImage ` wird nicht verändert.
Siehe auch „ rgbSwap()“ und „ Image Transformations “.
bool QImage::save(const QString &fileName, const char *format = nullptr, int quality = -1) const
Speichert das Bild in der Datei mit dem angegebenen „ fileName “, unter Verwendung der angegebenen Bilddatei- format s und des „ quality “-Faktors. Wenn „ format “ auf „ nullptr “ gesetzt ist, versucht „ QImage “, das Format anhand der Dateiendung von „ fileName “ zu ermitteln.
Der Faktor „ quality “ muss im Bereich von 0 bis 100 oder -1 liegen. Geben Sie 0 an, um kleine komprimierte Dateien zu erhalten, 100 für große unkomprimierte Dateien und -1 (Standard) zur Verwendung der Standardeinstellungen.
Gibt „ true “ zurück, wenn das Bild erfolgreich gespeichert wurde; andernfalls wird „ false “ zurückgegeben.
Siehe auch „ Reading and Writing Image Files “.
bool QImage::save(QIODevice *device, const char *format = nullptr, int quality = -1) const
Diese Funktion schreibt eine „ QImage “ in die angegebene „ device “.
Dies kann beispielsweise verwendet werden, um ein Bild direkt in einer „ QByteArray “ zu speichern:
QImage image;
QByteArray ba;
QBuffer buffer(&ba);
buffer.open(QIODevice::WriteOnly);
image.save(&buffer, "PNG"); // writes image into ba in PNG formatDies ist eine überladene Funktion.
QImage QImage::scaled(const QSize &size, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const
Gibt eine Kopie des Bildes zurück, die auf ein Rechteck skaliert ist, das durch die angegebene ` size ` gemäß den angegebenen Werten für ` aspectRatioMode ` und ` transformMode` definiert ist.

- Ist aspectRatioMode gleich Qt::IgnoreAspectRatio, wird das Bild auf size skaliert.
- Ist aspectRatioMode gleich Qt::KeepAspectRatio, wird das Bild unter Beibehaltung des Seitenverhältnisses auf ein möglichst großes Rechteck innerhalb von size skaliert.
- Ist „ aspectRatioMode “ gleich „ Qt::KeepAspectRatioByExpanding “, wird das Bild unter Beibehaltung des Seitenverhältnisses auf ein möglichst kleines Rechteck außerhalb von „ size “ skaliert.
Ist das angegebene ` size ` leer, gibt diese Funktion ein Nullbild zurück.
Siehe auch isNull() und Image Transformations.
QImage QImage::scaled(int width, int height, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const
Gibt eine Kopie des Bildes zurück, das entsprechend den angegebenen Werten für „ width “ und „ height “ sowie den angegebenen Werten für „ aspectRatioMode “ und „ transformMode “ auf ein Rechteck skaliert wurde.
Ist entweder die Breite ( width ) oder die Höhe ( height ) gleich Null oder negativ, gibt diese Funktion ein Nullbild zurück.
Dies ist eine überladene Funktion.
QImage QImage::scaledToHeight(int height, Qt::TransformationMode mode = Qt::FastTransformation) const
Gibt eine skalierte Kopie des Bildes zurück. Das zurückgegebene Bild wird mithilfe der angegebenen Transformation mode auf die angegebene Größe height skaliert.
Diese Funktion berechnet automatisch die Breite des Bildes, sodass das Seitenverhältnis des Bildes erhalten bleibt.
Ist die angegebene Größe ` height ` gleich 0 oder negativ, wird ein Nullbild zurückgegeben.
Siehe auch „ Image Transformations “.
QImage QImage::scaledToWidth(int width, Qt::TransformationMode mode = Qt::FastTransformation) const
Gibt eine skalierte Kopie des Bildes zurück. Das zurückgegebene Bild wird mithilfe der angegebenen Transformation mode auf die angegebene Größe width skaliert.
Diese Funktion berechnet automatisch die Höhe des Bildes, sodass dessen Seitenverhältnis erhalten bleibt.
Ist die angegebene Breite „ width “ gleich 0 oder negativ, wird ein Nullbild zurückgegeben.
Siehe auch ` Image Transformations`.
uchar *QImage::scanLine(int i)
Gibt einen Zeiger auf die Pixeldaten der Scanlinie mit dem Index i zurück. Die erste Scanlinie hat den Index 0.
Die Scanline-Daten sind mindestens 32-Bit-ausgerichtet. Bei 64-Bit-Formaten folgt die Ausrichtung der nativen Ausrichtung von 64-Bit-Ganzzahlen (64 Bit auf den meisten Plattformen, jedoch insbesondere 32 Bit auf i386).
Beispiel: Um die Grünkomponente jedes Pixels in einem Bild zu entfernen:
for (int y = 0; y < image.height(); ++y) {
QRgb *line = reinterpret_cast<QRgb*>(image.scanLine(y));
for (int x = 0; x < image.width(); ++x) {
QRgb &rgb = line[x];
rgb = qRgba(qRed(rgb), qGreen(0), qBlue(rgb), qAlpha(rgb));
}
}Warnung: Wenn Sie auf 32-bpp-Bilddaten zugreifen, wandeln Sie den zurückgegebenen Zeiger in „ QRgb* “ um (da „QRgb “ eine Größe von 32 Bit hat) und verwenden Sie ihn zum Lesen bzw. Schreiben des Pixelwerts. Sie können den Zeiger „ uchar* “ nicht direkt verwenden, da das Pixelformat von der Byte-Reihenfolge der zugrunde liegenden Plattform abhängt. Verwenden Sie „ qRed()“, „ qGreen()“, „ qBlue()“ und „ qAlpha()“, um auf die Pixel zuzugreifen.
Siehe auch bytesPerLine(), bits(), Pixel Manipulation und constScanLine().
const uchar *QImage::scanLine(int i) const
Dies ist eine überladene Funktion.
void QImage::setAlphaChannel(const QImage &alphaChannel)
Setzt den Alphakanal dieses Bildes auf das angegebene Bild „ alphaChannel “.
Ist „ alphaChannel “ ein 8-Bit-Alphabild, werden die Alphawerte direkt verwendet. Andernfalls wird „ alphaChannel “ in ein 8-Bit-Graustufenbild konvertiert und die Intensität der Pixelwerte verwendet.
Verfügt das Bild bereits über einen Alphakanal, wird der vorhandene Alphakanal mit dem neuen multipliziert. Verfügt das Bild nicht über einen Alphakanal, wird es in ein Format konvertiert, das einen solchen enthält.
Der Vorgang ähnelt dem Übermalen von alphaChannel als Alpha-Bild über dieses Bild mithilfe von QPainter::CompositionMode_DestinationIn.
Siehe auch hasAlphaChannel(), Image Transformations und Image Formats.
void QImage::setColor(int index, QRgb colorValue)
Setzt die Farbe an der angegebenen Adresse „ index “ in der Farbtabelle auf den angegebenen Wert „ colorValue “. Der Farbwert ist ein ARGB-Quadrupel.
Liegt „ index “ außerhalb der aktuellen Größe der Farbtabelle, wird diese mit „ setColorCount()“ erweitert.
Siehe auch „ color()“, „ colorCount()“, „ setColorTable()“ und „ Pixel Manipulation “.
void QImage::setColorCount(int colorCount)
Passen Sie die Größe der Farbtabelle so an, dass sie colorCount Einträge enthält.
Wird die Farbtabelle erweitert, werden alle zusätzlichen Farben auf transparent gesetzt (d. h. qRgba(0, 0, 0, 0)).
Bei der Verwendung des Bildes muss die Farbtabelle groß genug sein, um Einträge für alle im Bild vorhandenen Pixel-/Indexwerte zu enthalten; andernfalls sind die Ergebnisse undefiniert.
Siehe auch colorCount(), colorTable(), setColor() und Image Transformations.
void QImage::setColorSpace(const QColorSpace &colorSpace)
Legt den Farbraum des Bildes auf „ colorSpace “ fest, ohne dass dabei Konvertierungen an den Bilddaten vorgenommen werden.
Siehe auch „ colorSpace()“.
void QImage::setColorTable(const QList<QRgb> &colors)
Legt die Farbtabelle fest, die zur Umwandlung von Farbindizes in „ QRgb “-Werte verwendet wird, und zwar auf die angegebene „ colors “.
Bei Verwendung des Bildes muss die Farbtabelle groß genug sein, um Einträge für alle im Bild vorhandenen Pixel-/Indexwerte zu enthalten; andernfalls sind die Ergebnisse undefiniert.
Siehe auch colorTable(), setColor() und Image Transformations.
void QImage::setDevicePixelRatio(qreal scaleFactor)
Legt das Gerätepixelverhältnis für das Bild fest. Dies ist das Verhältnis zwischen Bildpixeln und geräteunabhängigen Pixeln.
Der Standard scaleFactor wert ist 1,0. Eine andere Einstellung hat zwei Auswirkungen:
QPainters, die auf dem Bild geöffnet werden, werden skaliert. Wenn beispielsweise auf einem 200x200-Bild mit einem Verhältnis von 2,0 gezeichnet wird, ergibt dies effektive (geräteunabhängige) Zeichenbereiche von 100x100.
Codepfade in Qt, die die Layout-Geometrie basierend auf der Bildgröße berechnen, berücksichtigen das Verhältnis: ` QSize layoutSize = image.size() / image.devicePixelRatio()`. Dies hat letztlich zur Folge, dass das Bild als Bild mit hoher DPI-Auflösung und nicht als großes Bild angezeigt wird (siehe Drawing High Resolution Versions of Pixmaps and Images).
Siehe auch devicePixelRatio() und deviceIndependentSize().
void QImage::setDotsPerMeterX(int x)
Legt die Anzahl der Pixel fest, die horizontal in einen physikalischen Meter passen, auf x.
Zusammen mit ` dotsPerMeterY()` definiert diese Zahl den beabsichtigten Maßstab und das Seitenverhältnis des Bildes und bestimmt den Maßstab, in dem ` QPainter ` Grafiken auf das Bild zeichnet. Der Maßstab oder das Seitenverhältnis des Bildes werden nicht verändert, wenn es auf anderen Zeichenvorrichtungen gerendert wird.
Siehe auch ` dotsPerMeterX()` und ` Image Information`.
void QImage::setDotsPerMeterY(int y)
Legt die Anzahl der Pixel fest, die vertikal in einen physikalischen Meter passen, und zwar auf y.
Zusammen mit ` dotsPerMeterX()` definiert diese Zahl den beabsichtigten Maßstab und das Seitenverhältnis des Bildes und bestimmt den Maßstab, in dem ` QPainter ` Grafiken auf das Bild zeichnet. Der Maßstab oder das Seitenverhältnis des Bildes wird dabei nicht verändert, wenn es auf anderen Zeichenvorrichtungen gerendert wird.
Siehe auch ` dotsPerMeterY()` und ` Image Information`.
void QImage::setOffset(const QPoint &offset)
Legt die Anzahl der Pixel fest, um die das Bild bei der Positionierung relativ zu anderen Bildern versetzt werden soll, auf offset.
Siehe auch „ offset()“ und „ Image Information “.
void QImage::setPixel(const QPoint &position, uint index_or_rgb)
Setzt den Pixelindex oder die Farbe an der angegebenen Position ` position ` auf ` index_or_rgb`.
Wenn das Bildformat entweder monochrom oder palettenbasiert ist, muss der angegebene Wert für „ index_or_rgb “ ein Index in der Farbtabelle des Bildes sein; andernfalls muss der Parameter ein Wert für „ QRgb “ sein.
Ist „ position “ kein gültiges Koordinatenpaar im Bild oder ist „ index_or_rgb “ >= „ colorCount()“ bei monochromen und palettenbasierten Bildern, ist das Ergebnis undefiniert.
Warnung: Diese Funktion ist aufgrund des Aufrufs der darin enthaltenen internen Funktion „ detach() “ rechenintensiv; wenn die Leistung eine Rolle spielt, empfehlen wir die Verwendung von „ scanLine()“ oder „ bits()“, um direkt auf Pixeldaten zuzugreifen.
Siehe auch pixel() und Pixel Manipulation.
void QImage::setPixel(int x, int y, uint index_or_rgb)
Setzt den Pixelindex oder die Farbe an der Position (x, y) auf index_or_rgb.
Dies ist eine überladene Funktion.
void QImage::setPixelColor(const QPoint &position, const QColor &color)
Setzt die Farbe an der angegebenen Koordinatenstelle ` position ` auf ` color`.
Wenn „ position “ kein gültiges Koordinatenpaar im Bild ist oder das Bildformat entweder monochrom oder palettenbasiert ist, ist das Ergebnis undefiniert.
Warnung: Diese Funktion ist aufgrund des Aufrufs der darin enthaltenen internen Funktion „ detach() “ rechenintensiv; wenn die Leistung eine Rolle spielt, empfehlen wir die Verwendung von „ scanLine()“ oder „ bits()“, um direkt auf Pixeldaten zuzugreifen.
Siehe auch pixelColor(), pixel(), bits(), scanLine() und Pixel Manipulation.
void QImage::setPixelColor(int x, int y, const QColor &color)
Setzt die Pixelfarbe an der Position (x, y) auf color.
Dies ist eine überladene Funktion.
void QImage::setText(const QString &key, const QString &text)
Setzt den Bildtext auf die angegebene „ text “ und ordnet ihn der angegebenen „ key “ zu.
Wenn Sie lediglich einen einzelnen Textblock (d. h. einen „Kommentar“ oder einfach nur eine Beschreibung) speichern möchten, können Sie entweder einen leeren Schlüssel übergeben oder einen generischen Schlüssel wie „Description“ verwenden.
Der Bildtext wird in die Bilddaten eingebettet, wenn Sie save() oder QImageWriter::write() aufrufen.
Nicht alle Bildformate unterstützen eingebetteten Text. Mit ` QImageWriter::supportsOption()` kannst du herausfinden, ob ein bestimmtes Bild oder Format das Einbetten von Text unterstützt. Hier ein Beispiel:
QImageWriter writer;
writer.setFormat("png");
if (writer.supportsOption(QImageIOHandler::Description))
qDebug() << "Png supports embedded text";Mit QImageWriter::supportedImageFormats() können Sie herausfinden, welche Bildformate Ihnen zur Verfügung stehen.
Siehe auch text() und textKeys().
QSize QImage::size() const
Gibt die Größe des Bildes zurück, d. h. dessen width() und height().
Siehe auch Image Information und deviceIndependentSize().
qsizetype QImage::sizeInBytes() const
Gibt die Größe der Bilddaten in Byte zurück.
Siehe auch bytesPerLine(), bits() und Image Information.
[noexcept] void QImage::swap(QImage &other)
Ersetzt dieses Bild durch other. Dieser Vorgang läuft sehr schnell ab und schlägt niemals fehl.
QString QImage::text(const QString &key = QString()) const
Gibt den Bildtext zurück, der dem angegebenen „ key “ zugeordnet ist. Ist der angegebene „ key “ eine leere Zeichenkette, wird der gesamte Bildtext zurückgegeben, wobei jedes Schlüssel-Text-Paar durch einen Zeilenumbruch getrennt ist.
Siehe auch setText() und textKeys().
QStringList QImage::textKeys() const
Gibt die Textschlüssel für dieses Bild zurück.
Sie können diese Schlüssel mit der Funktion „ text()“ verwenden, um den Bildtext für einen bestimmten Schlüssel aufzulisten.
Siehe auch ` text()`.
CGImageRef QImage::toCGImage() const
Erstellt ein „ CGImage “, das diesem „ QImage “ entspricht, und gibt ein „ CGImageRef “-Handle zurück.
Das zurückgegebene `CGImageRef` ist Teil der impliziten gemeinsamen Nutzung von ` QImage ` und enthält einen Verweis auf die Daten von ` QImage `. `CGImage` ist unveränderlich und trennt die Verbindung zu ` QImage` niemals. Das Schreiben in ` QImage ` führt wie gewohnt zur Trennung der Verbindung.
Diese Funktion ist schnell und kopiert oder konvertiert keine Bilddaten.
Wenn das Bildformat nicht konvertiert werden kann, wird ein null-Wert für `CGImageRef` zurückgegeben. Nutzer dieser Funktion können dann zunächst das ` QImage ` in ein unterstütztes Format konvertieren, zum Beispiel ` Format_ARGB32_Premultiplied`.
Wenn für das Bild kein Farbraum festgelegt ist, wird der Farbraum des resultierenden CGImageRef auf den sRGB-Farbraum gesetzt.
[since 6.0] HBITMAP QImage::toHBITMAP() const
Erstellt ein „ HBITMAP “-Äquivalent des „ QImage “.
Gibt das Handle des „ HBITMAP “ zurück.
Es liegt in der Verantwortung des Aufrufers, die „ HBITMAP “-Daten nach der Verwendung freizugeben.
Für die Verwendung mit Standard-GDI-Aufrufen wie z. B. ` BitBlt()` sollte das Bild das Format ` QImage::Format_RGB32` haben.
Bei Verwendung des resultierenden HBITMAP für die GDI-Funktion „ AlphaBlend() “ sollte das Bild das Format „ QImage::Format_ARGB32_Premultiplied “ haben (verwenden Sie „ convertToFormat()“).
Bei Verwendung des resultierenden HBITMAP als Anwendungssymbol oder Systemablage-Symbol sollte das Bild das Format „ QImage::Format_ARGB32 “ haben.
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch fromHBITMAP() und convertToFormat().
[since 6.0] HICON QImage::toHICON(const QImage &mask = {}) const
Erstellt ein Äquivalent von „ QPixmap “ im Format „ HICON “ unter Anwendung der Maske „ mask “.
Wenn mask nicht null ist, muss es das Format QImage::Format_Mono haben. Gibt das Handle HICON zurück.
Es liegt in der Verantwortung des Aufrufers, die Daten von ` HICON ` nach der Verwendung freizugeben.
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch „ fromHICON()“.
[static noexcept] QImage::Format QImage::toImageFormat(QPixelFormat format)
Wandelt „ format “ in ein QImage::Format
[static noexcept] QPixelFormat QImage::toPixelFormat(QImage::Format format)
Wandelt „ format “ in ein QPixelFormat
QImage QImage::transformed(const QTransform &matrix, Qt::TransformationMode mode = Qt::FastTransformation) const
Gibt eine Kopie des Bildes zurück, das mithilfe der angegebenen Transformations matrix und des Transformations mode transformiert wurde.
Das zurückgegebene Bild hat normalerweise dasselbe {Bildformate}{Format} wie das Originalbild. Eine komplexe Transformation kann jedoch zu einem Bild führen, bei dem nicht alle Pixel durch die transformierten Pixel des Originalbildes abgedeckt sind. In solchen Fällen wird diesen Hintergrundpixeln ein transparenter Farbwert zugewiesen, und das transformierte Bild erhält ein Format mit einem Alphakanal, auch wenn das Originalbild diesen nicht hatte.
Die Transformations matrix e wird intern angepasst, um unerwünschte Verschiebungen auszugleichen; d. h., das erzeugte Bild ist das kleinste Bild, das alle transformierten Punkte des Originalbildes enthält. Verwenden Sie die Funktion „ trueMatrix()“, um die tatsächlich für die Transformation eines Bildes verwendete Matrix abzurufen.
Im Gegensatz zur anderen Überladung kann diese Funktion verwendet werden, um perspektivische Transformationen an Bildern durchzuführen.
Siehe auch trueMatrix() und Image Transformations.
[static] QTransform QImage::trueMatrix(const QTransform &matrix, int width, int height)
Gibt die tatsächliche Matrix zurück, die zur Transformation eines Bildes mit den angegebenen Werten für ` width`, ` height ` und ` matrix` verwendet wird.
Bei der Transformation eines Bildes mit der Funktion ` transformed()` wird die Transformationsmatrix intern angepasst, um unerwünschte Verschiebungen auszugleichen, d. h. ` transformed()` gibt das kleinste Bild zurück, das alle transformierten Punkte des Originalbildes enthält. Diese Funktion gibt die modifizierte Matrix zurück, die Punkte korrekt vom Originalbild in das neue Bild abbildet.
Im Gegensatz zur anderen Überladung erstellt diese Funktion Transformationsmatrizen, mit denen perspektivische Transformationen an Bildern durchgeführt werden können.
Siehe auch transformed() und Image Transformations.
bool QImage::valid(const QPoint &pos) const
Gibt „ true “ zurück, wenn „ pos “ ein gültiges Koordinatenpaar innerhalb des Bildes ist; andernfalls wird „ false “ zurückgegeben.
Siehe auch rect() und QRect::contains().
bool QImage::valid(int x, int y) const
Gibt „ true “ zurück, wenn „ QPoint “ (x, y) ein gültiges Koordinatenpaar innerhalb des Bildes ist; andernfalls wird „ false “ zurückgegeben.
Dies ist eine überladene Funktion.
int QImage::width() const
Gibt die Breite des Bildes zurück.
Siehe auch Image Information.
QImage::operator QVariant() const
Gibt das Bild als „ QVariant “ zurück.
bool QImage::operator!=(const QImage &image) const
Gibt „ true “ zurück, wenn dieses Bild und das angegebene „ image “ unterschiedliche Inhalte haben; andernfalls wird „ false “ zurückgegeben.
Der Vergleich kann langsam sein, es sei denn, es gibt einen offensichtlichen Unterschied, wie z. B. unterschiedliche Breiten; in diesem Fall liefert die Funktion das Ergebnis schnell.
Siehe auch operator=().
[noexcept] QImage &QImage::operator=(QImage &&other)
Weist „ other “ dieser „ QImage “-Instanz zu.
QImage &QImage::operator=(const QImage &image)
Weist diesem Image eine flache Kopie des angegebenen „ image “ zu und gibt einen Verweis auf dieses Image zurück.
Weitere Informationen zu flachen Kopien finden Sie in der Dokumentation zu impliziter Datenfreigabe.
Siehe auch „ copy()“ und „ QImage()“.
bool QImage::operator==(const QImage &image) const
Gibt „ true “ zurück, wenn dieses Bild und das angegebene „ image “ denselben Inhalt haben; andernfalls wird „ false “ zurückgegeben.
Der Vergleich kann langsam sein, es sei denn, es gibt einen offensichtlichen Unterschied (z. B. unterschiedliche Größe oder unterschiedliches Format); in diesem Fall liefert die Funktion schnell ein Ergebnis.
Siehe auch operator=().
Verwandte Nicht-Mitglieder
QImageCleanupFunction
Eine Funktion mit der folgenden Signatur, die zur Implementierung einer grundlegenden Bildspeicherverwaltung verwendet werden kann:
void myImageCleanupHandler(void *info);QDataStream &operator<<(QDataStream &stream, const QImage &image)
Schreibt den angegebenen „ image “ als PNG-Bild in die angegebene „ stream “ oder als BMP-Bild, wenn die Version des Streams 1 ist. Beachten Sie, dass das Schreiben des Streams in eine Datei keine gültige Bilddatei erzeugt.
Siehe auch QImage::save() und Serialisierung von Qt-Datentypen.
QDataStream &operator>>(QDataStream &stream, QImage &image)
Liest ein Bild aus der angegebenen Datei „ stream “ ein und speichert es in der angegebenen Datei „ image “.
Siehe auch QImage::load() und „Serialisierung von Qt-Datentypen“.
© 2026 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.

