質問

画像の内容(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を作成します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top