Laden Sie QpixMap von QBytearray in QT?
-
26-10-2019 - |
Frage
Ich habe ein Byte -Array mit dem Inhalt eines Bildes (in PNG/BMP oder einem anderen Format).
Wie kann ich es in eine QPIXMAP laden?
Lösung
bool QPixmap::loadFromData ( const QByteArray & data, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor )
Das Format hier ist saitel buchstäblich wie "PNG"
oder etwas ähnliches
QPixmap p;
QByteArray pData;
// fill array with image
if(p.loadFromData(pData,"PNG"))
{
// do something with pixmap
}
Andere Tipps
Sie sollten das Lobus verwenden, bei dem sich Ihre Bytes in der Variablen der Imagedata im Format befinden, das durch den letzten Parameter angegeben ist:
QPixmap pixmap = QPixmap::fromImage(
QImage(
(unsigned char *) imageData,
image_width,
image_height,
QImage::Format_RGB888
)
);
Verwenden Sie diesen Konstruktor:
QImage ( const uchar * data, int width, int height, Format format )
Hier sind weitere Informationen. Danach können Sie verwenden QPixmap.convertFromImage()
So erstellen Sie eine PIXMAP.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow