0

C++ で、 UINT16 モノクロ イメージ8 ビット イメージに変換したいと考えています。

私はそのイメージを持っています

char *buffer;

新しい変換されたバッファを QImage (Qt) に渡したいと思います。

私はfreeImagePlusで試しています

fipImage fimage;
if (fimage.loadfromMemory(...) == false)
    //error

loadfromMemory には fipMemoryIO アドレスが必要です。

loadfromMemory(fipMemoryIO &memIO, int フラグ = 0)

私もです

fipImage fimage;
BYTE *buf = (BYTE*)malloc(gimage.GetBufferLength() * sizeof(BYTE));
// 'buf' is empty, I have to fill it with 'buffer' content
// how can I do it?
fipMemoryIO memIO(buf, gimage.GetBufferLength());

fimage.loadFromMemory(memIO);
if (fimage.convertTo8Bits() == true)
    cout << "Good";

それから私は次のようなことをします

fimage.saveToMemory(...

また

fimage.saveToHandle(...

これら 2 つの関数の最初の引数である FREE_IMAGE_FORMAT とは何かがわかりません。これらのタイプの情報は、freeImage のドキュメントでは見つかりません。

それから私はで終わります

imageQt = new QImage(destiny, dimX, dimY, QImage::Format_Indexed8);

「buf」に初期バッファの内容を入力するにはどうすればよいですか?

そして、fipImage から QImage の uchar* データへのデータを取得しますか?

ありがとう。

4

1 に答える 1