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