QTのQbytearrayからqpixmapをロードしますか?
-
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
}
他のヒント
最後のパラメーターで指定された形式で、バイトが画像変数にあるfolowingを使用する必要があります。
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