ビットマップのような構造体をHDCに変換するには?gdi +ビットマップのような構造体をHDCに変換する方法は?
私は現在、画像処理プログラムをC++、gdiで書いています。
私はHDCを取得した場合。 gdiのHDCで好きなものを次のコードで描画できます。
// HDC is handy.
HDC dc;
dc.DrawXXX // I can draw using gdi method.
Graphics gr(dc); // now I can also draw on the dc using gdi+ method.
私のアプリケーションはFreeImageに基づいています。 私はfipイメージを作っています。ビットマップのようにデータ構造体を使用する
しかし、私がfipWinImageを描画したい場合は、ビットマップをfipWinImagetoにコピーしてから、ビットマップを描画し、最後にビットマップをfsImageに変換し直す必要があります。 。
ビットマップにfipImageを変換する - >ビットマップに描画 - >私はfipImageから直接HDCを構築したいfipWinImage
fipWinImage imagefip;
Bitmap* tempImg = new Bitmap(imagefip->GetWidth(), imagefip.GetHeigt(), PixelFormat24bppRGB); // memory comsuming is image is large
Graphics *pGr = Graphics::FromImage(tempImg);
HDC dc = pGr->GetHDC();
RECT rec;
rec.left = 0;
rec.top = 0;
rec.right = imagefip.GetWidth();
rec.bottom = imagefip.GetHeight();
fipImage.draw(dc, rec); // using stretchdibits()
pGr->ReleaseHDC(dc);
Graphics gr(tempImg);
HDC dc = gr.GetHDC(); // Get an Hdc, draw using gdi method
gr.ReleaseHDC(tempDC); //
gr.drawXXX // Draw using gdi+ method.
fipWinImage fipImg; // final result fipWinImage.
HBITMAP temp;
Color color;
tempImg->GetHBITMAP(color, &temp);
fipImg->copyFromBitmap(temp);
にビットマップを変換します。 fipWinImageに直接描画する どうすればいいですか?