Chargez QPixmap de QByteArray dans Qt?
-
26-10-2019 - |
Question
J'ai un tableau d'octets avec le contenu d'une image (en .png / bmp ou un autre format).
Comment puis-je charger dans un QPixmap?
La solution
bool QPixmap::loadFromData ( const QByteArray & data, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor )
Le format est littéral de chaîne comme "PNG"
ou quelque chose de similaire ici
QPixmap p;
QByteArray pData;
// fill array with image
if(p.loadFromData(pData,"PNG"))
{
// do something with pixmap
}
Autres conseils
Vous devez utiliser le que vous avez choisi, où vos octets sont dans la variable imageData dans le format spécifié par le dernier paramètre:
QPixmap pixmap = QPixmap::fromImage(
QImage(
(unsigned char *) imageData,
image_width,
image_height,
QImage::Format_RGB888
)
);
Utilisez ce constructeur:
QImage ( const uchar * data, int width, int height, Format format )
Voici plus d'info . Après cela, vous pouvez utiliser QPixmap.convertFromImage()
pour créer un pixmap.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow