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?

Était-ce utile?

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
scroll top