9

画像の内容を含むバイト配列があります(png/bmpまたはその他の形式)。

QPixmapにロードするにはどうすればよいですか?

4

3 に答える 3

16
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
}
于 2011-07-26T07:32:44.073 に答える
7

以下を使用する必要があります。バイトは、最後のパラメーターで指定された形式の imageData 変数にあります。

QPixmap pixmap = QPixmap::fromImage(
    QImage(
        (unsigned char *) imageData, 
        image_width, 
        image_height, 
        QImage::Format_RGB888
    )
);
于 2011-07-26T07:45:14.590 に答える
0

次のコンストラクタを使用します。

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

ここに詳細があります。その後、 を使用QPixmap.convertFromImage()してピックスマップを作成できます。

于 2011-07-26T07:33:23.343 に答える