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* データへのデータを取得しますか?
ありがとう。