私はC++、gdiでコーディングしています 私はstretchDIBitsを使用してイメージをDCに描画します。DrawDIBの品質を向上させる方法は?
::SetStretchBltMode(hDC, HALFTONE);
::StretchDIBits(
hDC,
des.left,des.top,des.right - des.left,des.bottom - des.top,
0, 0,
img.getWidth(),
img.getHeight(),
(img.accessPixels()),
(img.getInfo()),
DIB_RGB_COLORS,
SRCCOPY
);
しかし、それは遅いです。 私はDrawDib関数を使うように変更しました。
::SetStretchBltMode(hDC, HALFTONE);
DrawDibDraw(
hdd,
hDC,
des.left,des.top,des.right - des.left,des.bottom - des.top,
(LPBITMAPINFOHEADER)(img.getInfo()),
(img.accessPixels()),
0, 0,
img.getWidth(),
img.getHeight(),
DDF_HALFTONE
);
ただし、結果はCOLORONCOLORモードによる描画と同じです。 描画品質を改善するにはどうすればよいですか?
'DrawDib'はかなり古くなっています。あまりにも遅いということを説明できますか?リアルタイムビデオでこれをしようとしていますか?それを非常に大きな画像に適用しようとしていますか?どのくらいの時間がかかりますか、どのくらい速くする必要がありますか? –