簡體   English   中英

如何使圖片適合靜態控件vc ++ win32

[英]how to make a picture fit in a static control vc++ win32

您能告訴我如何使圖片適合靜態控件嗎?我的意思是,例如,如果您創建用於查看圖片的靜態控件,並且圖片的質量或圖片尺寸大於控件,那么它將使用該尺寸調整靜態控件的大小圖片。 我可以創建控件並將圖片設置為正確。 但我不知道如何使其適合控制。 這就是我創建控件並為其設置圖片的方式。

碼:

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處理程序中調用該函數,該函數成功創建了該函數,現在我不知道如何使其適合控件,如果您能告訴我如何使圖片適合控件,我將不勝感激。

您可以使用Microsoft文檔中的SS_REALSIZECONTROL

SS_REALSIZECONTROL - Adjusts the bitmap to fit the size of the static control.

您也可以手動縮放圖像。 通過使用GetWindowRect()獲得圖像的控件大小,然后使用StretchBlt()縮放圖像以使其尺寸與源圖像尺寸匹配,然后執行STM_SETIMAGE。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM