Загрузите qpixmap из qbytearray в qt?
-
26-10-2019 - |
Вопрос
У меня есть байтовый массив с содержанием изображения (в 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.
Не связан с StackOverflow