在OnPaint()中使用CBitmap加载位图资源
2017-04-26 17:41
225 查看
出现问题:失真严重,所以此方法只用于学习
CPaintDC dc(this);
CDC memdc;
CBitmap m_bgBmp; //定义一个位图
BITMAP m_bgBmpInfo; //定义一个位图信息结构体
CRect m_cliRect; //定义一个DC指针,并指向屏幕DC
GetClientRect(&m_cliRect); //获取客户区的大小,并保存到m_cliRect中
m_bgBmp.LoadBitmap(IDB_BITMAP1);
m_bgBmp.GetBitmap(&m_bgBmpInfo);//获取该位图的大小
memdc.CreateCompatibleDC(&dc); //创建一个兼容于屏幕DC的内存DC
memdc.SelectObject(&m_bgBmp); //将位图选入到刚刚创建的内存DC中
dc.StretchBlt(0,0,m_cliRect.Width(),m_cliRect.Height(),&memdc,0,0,m_bgBmpInfo.bmWidth,m_bgBmpInfo.bmHeight,SRCCOPY);
函数解析<StretchBlt>
函数从源矩形中复制一个位图到目标矩形,必要时按目前目标设备的模式进行图像的拉伸或压缩。
但是,StretchBlt函数缩放图片后图片失真严重,所以需要用SetStretchBltMode设置函数的伸缩模式
例如:
SetStretchBltMode(pDC->m_hDC,STRETCH_HALFTONE);
CPaintDC dc(this);
CDC memdc;
CBitmap m_bgBmp; //定义一个位图
BITMAP m_bgBmpInfo; //定义一个位图信息结构体
CRect m_cliRect; //定义一个DC指针,并指向屏幕DC
GetClientRect(&m_cliRect); //获取客户区的大小,并保存到m_cliRect中
m_bgBmp.LoadBitmap(IDB_BITMAP1);
m_bgBmp.GetBitmap(&m_bgBmpInfo);//获取该位图的大小
memdc.CreateCompatibleDC(&dc); //创建一个兼容于屏幕DC的内存DC
memdc.SelectObject(&m_bgBmp); //将位图选入到刚刚创建的内存DC中
dc.StretchBlt(0,0,m_cliRect.Width(),m_cliRect.Height(),&memdc,0,0,m_bgBmpInfo.bmWidth,m_bgBmpInfo.bmHeight,SRCCOPY);
函数解析<StretchBlt>
函数从源矩形中复制一个位图到目标矩形,必要时按目前目标设备的模式进行图像的拉伸或压缩。
但是,StretchBlt函数缩放图片后图片失真严重,所以需要用SetStretchBltMode设置函数的伸缩模式
例如:
SetStretchBltMode(pDC->m_hDC,STRETCH_HALFTONE);
相关文章推荐
- 位图和位块传输(3)之加载位图资源
- 使用ClassLoader加载资源的示例代码
- WP7开发 使用Application.GetResourceStream从XAP安装包加载任意资源
- win32汇编--加载位图(bmp)资源
- 从文件中加载位图到 CBitmap对象
- win7下计划任务schtasks使用详解及"错误:无法加载列资源"的解决方法1
- Style样式的四种使用(包括用C#代码动态加载资源文件并设置样式)
- CImageList 位图加载到 与 CBitmap BITMAP
- 【Cocos2d-X(2.x) 游戏开发系列之三】最新版本cocos2d­2.0­x­2.0.2使用新资源加载策略!不再沿用-hd、-ipad、-ipadhd添加后缀方式
- “为了能够访问动态链接库中的位图资源,在编译动态链接库时,需要使用MFC静态库”
- 如何从一个CBitmap或是资源位图中截取一部分到另一个CBitmp中
- 使用查找对话框后,另一对话框的位图背景加载失败
- android游戏开发框架libgdx的使用(二十)—资源预加载与AssetManager的使用
- ListView使用SimpleAdapter加载非drawable资源图片
- 位图资源的使用
- 如何从一个CBitmap或是资源位图中截取一部分到另一个CBitmp中
- CBitmap程序中动态加载 本地文件上的BMP图片资源
- Android资源预加载与AssetManager的使用
- 在VC中使用GDI+从自定义资源中加载图片
- DotNet Compact Framework中位图资源的使用学习笔记