我正在尝试创建“SMB”文件的预览图,其中这是一种可以使用AutoCAD生成的图像,我必须将此图像加载到具有100宽度和100高度的
我想知道如何缩放图像,以使我可以在图像中心放大并失去其余部分,仅保留在100宽度和100高度的
这是我目前正在使用的代码:
CRect
中。
然而,该图像具有很高的分辨率,并且其中包含一个非常小的鱼的绘制。
当预览被创建时,只显示白色空间。 在其他图像具有合理大小的情况下,其显示正确。我想知道如何缩放图像,以使我可以在图像中心放大并失去其余部分,仅保留在100宽度和100高度的
CRect
对象的限制范围内。这是我目前正在使用的代码:
HBITMAP hBitmap;
hBitmap = CreateDIBitmap(pDc->m_hDC,
&EnteteSymb.BitmapInfoHeader,
(LONG)CBM_INIT,
EnteteSymb.BitmapData,
(LPBITMAPINFO)&EnteteSymb.BitmapInfoHeader,
DIB_RGB_COLORS);
CDC DCMem;
DCMem.CreateCompatibleDC(pDc);
DCMem.SelectObject(hBitmap);
int X = Rect.left + MARGES_X;
int Y = Rect.top + MARGES_Y;
int Width = Rect.right - Rect.left - ( 2 * MARGES_X );
int Height = ( Rect.bottom ) - ( Rect.top + MARGES_Y ) - 1;
pDc->StretchBlt( X, Y, Width, Height, &DCMem, 0, 0, 100, 100, SRCCOPY);
DCMem.DeleteDC();
DeleteObject(hBitmap);