ビデオから画像フレームのサイズを変更するプログラムのコンポーネントを作成しようとしています。現在のコードが呼び出さCDC
れ、現在のフレームから が取得されます。
void showImageFrame(LPSTR info)
{
BITMAPINFOHEADER * pInfo = (BITMAPINFOHEADER *)info;
CDC* pDC=pWnd=GetDlgItem(IDCFrame)->GetDC();
CRect rect;
pWnd->GetClientRect(&rect);
SetDIBitsToDevice(pDC->GetSafeHdc(), 0, 0, rect.Width(), rect.Height(), 0, 0, 0, pInfo->biHeight, info + *(LPDWORD)info, (LPBITMAPINFO) pInfo, DIB_RGB_COLORS);
pDC->StretchBlt(0,0,200,200,pDC,0,0,rect.Width(),rect.Height(),SRCCOPY);
}
はStretchBlt
、現在のフレームに表示されるイメージのサイズを変更しますが、 からのより大きなイメージを保持しますSetDIBitsToDevice
。の画像を削除する方法SetDIBitsToDevice
、またはより効率的な方法でこれを行う方法はありますか? 画像のサイズを 200x200 に変更しようとしています。
上記の現在のコードを使用すると、次の出力が得られます。
ありがとう!