0

このコマンドライン:QImage :: QImage(uchar * data、int width、int height、int bytesPerLine、Format format)使用しますか?QImage image = new QImage(buffer、600、400、jpg)bytesPerLine意味がよくないのですが、写真はkbを占めますか?ありがとう

4

3 に答える 3

2

bytesPerLine パラメータを使用したくない場合は、

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

コンストラクタ。

ただし、フォーマットはあなたが考えるものではありません。このformatパラメーターは、ビット深度などを決定する列挙型の値を指定します。jpgつまり、入力し"jpg"ても動作しません。可能な値のリストについては、Format-enumを確認してください。

于 2011-09-26T10:47:03.950 に答える
0

あなたの質問が私には非常に不明確であるという事実を考慮して、できる限りの回答を試みます。

Qtのドキュメントから:

bytesPerLine は、1 行あたりのバイト数 (ストライド) を指定します。

また、jpg として指定した format 引数は、 here で指定された列挙値の 1 つとして指定する必要があることも考慮してください。

よろしくお願いします

于 2011-09-26T09:57:22.163 に答える
0

それがこのコンストラクターの使用方法です。

int imageWidth = 800;
int imageHeight = 600;
int bytesPerPixel = 4; // 4 for RGBA, 3 for RGB
int format = QImage::Format_ARGB32; // this is the pixel format - check Qimage::Format enum type for more options
QImage image(yourData, imageWidth, imageHeight, imageWidth * bytesPerPixel, format);

画像形式 (png、jpeg など) を指定するのではなく、ピクセル形式 (RGB、RGBA など) を指定します。

于 2011-09-26T10:52:58.440 に答える