gpt4 book ai didi

c++ - 如何使图片适合静态控件 vc++ win32

转载 作者:太空宇宙 更新时间:2023-11-04 04:34:49 26 4
gpt4 key购买 nike

你能告诉我如何使图片适合静态控件吗,我的意思是如果你创建一个用于查看图片的静态控件并且如果图片质量或图片大小大于控件那么它会重新调整静态控件的大小与图片的大小。我可以创建控件并将图片设置为正确。但我不知道如何让它适合控制。这就是我创建控件并为其设置图片的方式。

代码:

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。

关于c++ - 如何使图片适合静态控件 vc++ win32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31936340/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com