Вопрос

У меня есть байтовый массив с содержанием изображения (в PNG/BMP или в другом формате).

Как я могу загрузить его в qpixmap?

Это было полезно?

Решение

bool QPixmap::loadFromData ( const QByteArray & data, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor )

Формат здесь "PNG" или что -то подобное

QPixmap p;
QByteArray pData;
// fill array with image
if(p.loadFromData(pData,"PNG"))
{
   // do something with pixmap
}

Другие советы

Вам следует использовать фологу, где ваши байты находятся в переменной Imagedata в формате, указанном в последнем параметре:

QPixmap pixmap = QPixmap::fromImage(
    QImage(
        (unsigned char *) imageData, 
        image_width, 
        image_height, 
        QImage::Format_RGB888
    )
);

Используйте этот конструктор:

QImage ( const uchar * data, int width, int height, Format format )

Вот больше информации. Анкет После этого вы можете использовать QPixmap.convertFromImage() Чтобы создать Pixmap.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top