C++中怎么把位图输出到窗口
答案:2 悬赏:0 手机版
解决时间 2021-03-07 16:36
- 提问者网友:兔牙战士
- 2021-03-06 19:36
C++中怎么把位图输出到窗口
最佳答案
- 五星知识达人网友:轻雾山林
- 2021-03-06 20:57
#include
int PaintBitmap (HWND hwnd ,HBITMAP hBitmap)
{
RECT rect ;
BITMAP bitmap ;
HDC hdcSrc = GetDC (hwnd) ;
HDC hdcBmp = CreateCompatibleDC (hdcSrc) ;
SelectObiect (hdcBmp ,hBitmap) ;
GetClientRect (hwnd ,&rect) ;
GetObject (hBitmap ,sizeof (BITMAP) ,bitmap) ;
Stretchblt (hdcSrc ,0 ,0 ,rect.right - rect.left ,rect.bottom - rect.top ,hdcBmp ,0 ,0 ,bitmap.bmWight ,bitmap.bmHeight) ;
DeleteDC (hdcBmp) ;
ReleaseDC (hwnd ,hdcSrc) ;
return 0 ;
}
int PaintBitmap (HWND hwnd ,HBITMAP hBitmap)
{
RECT rect ;
BITMAP bitmap ;
HDC hdcSrc = GetDC (hwnd) ;
HDC hdcBmp = CreateCompatibleDC (hdcSrc) ;
SelectObiect (hdcBmp ,hBitmap) ;
GetClientRect (hwnd ,&rect) ;
GetObject (hBitmap ,sizeof (BITMAP) ,bitmap) ;
Stretchblt (hdcSrc ,0 ,0 ,rect.right - rect.left ,rect.bottom - rect.top ,hdcBmp ,0 ,0 ,bitmap.bmWight ,bitmap.bmHeight) ;
DeleteDC (hdcBmp) ;
ReleaseDC (hwnd ,hdcSrc) ;
return 0 ;
}
全部回答
- 1楼网友:玩世
- 2021-03-06 21:23
原型:
int winapi icepub_imgtobmp(char *strimgfilename,char *strbmpfilename,int huiflag)
输入:strimgfilename 各种图像格式文件名
strbmpfilename bmp图像名
huiflag 灰度化标志
输出:
typedef int (winapi icepub_imgtobmp)(char *strimgfilename,char *strbmpfilename,int huiflag);
icepub_imgtobmp *icepub_imgtobmp = 0;
hinstance hdlldrv = loadlibrary("icepubdll.dll");
if(hdlldrv)
{
icepub_imgtobmp = (icepub_imgtobmp *)getprocaddress(hdlldrv, "icepub_imgtobmp");
}
icepub_imgtobmp("a.png","a.bmp",0);
icepub_imgtobmp("b.jpg","b.bmp",0);
icepub_imgtobmp("c.gif","c.bmp",0);
if(hdlldrv)
freelibrary(hdlldrv);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯