你能告诉我如何使图片适合静态控制,我的意思是,如果你创建一个静态控件来查看图片,如果图片的图片质量或大小比控件大,那么它会调整静态控件的大小的图片。我可以创建控件并将图片设置为正常。但我不知道如何使它适合控制。这就是我如何创建控件并为其设置图片。
码:
HWND static_con(HWND hWnd, HINSTANCE hInst){
HWND Static_Pic;
Profile_Pic = CreateWindow("STATIC", NULL, SS_BITMAP|WS_CHILD|WS_VISIBLE|WS_TABSTOP, 5,5,33,33, hWnd, NULL, hInst, NULL);
HBITMAP hBmp = (HBITMAP)LoadImage(NULL, "camera1.jpg", IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
if(hBmp == NULL){
MessageBox(NULL, "Error while loading image", "Error", MB_OK|MB_ICONERROR);
}
SendMessage(Static_Pic, STM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)hBmp);
return 0;
}
然后我在WM_CREATE处理程序中调用该函数,该处理程序成功创建它,现在我不知道如何使其适合控制,我真的很感激,如果你能告诉我如何使图片适合控制。
您可以使用SS_REALSIZECONTROL来自Microsoft的文档。
SS_REALSIZECONTROL - Adjusts the bitmap to fit the size of the static control.
您也可以手动缩放图像。通过使用GetWindowRect()获取控件的大小,然后使用StretchBlt()缩放图像以使其尺寸与源的尺寸匹配,然后执行STM_SETIMAGE。