MFC位图显示问题。求大牛解答

Mikey_O 2014-01-21 10:50:48
请问,
1.加载的rc资源 都是一套的。就是一张图有几个图片连在一起的,但是我们需要显示的只是前一部分,然后当按下的时候改变的颜色后,又是后半部分的图片的。 请问这个是什么实现的?


2. 例如 一个button的图片(假设png) , 但是四个边已登录框的颜色不一样的,显示出来不美观,如何去掉只剩按钮的轮廓?
...全文
191 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
泥鳅不是鱼 2014-01-23
  • 打赏
  • 举报
回复
引用 4 楼 md1310 的回复:
[quote=引用 2 楼 tiger9991 的回复:] 这个很简单。 你把图片载入到CDC之中,然后用BitBlt或者StretchBlt都能指定绘制CDC内存中的图片的指定位置的。
如何截图是根据位图的像素的大小/除以里面的个数吗?[/quote] 根据你图片的实际大小
FounderSG 2014-01-23
  • 打赏
  • 举报
回复
网上找的一段代码,供参考 BITMAP BmpInfo; SrcBmp->GetBitmap(&BmpInfo); CDC SrcDC; SrcDC.CreateCompatibleDC(NULL); CBitmap DestBmp; DestBmp.CreateCompatibleBitmap(&SrcDC,150,150); CDC DestDC; DestDC.CreateCompatibleDC(NULL); CBitmap *pOldBmp1 = SrcDC.SelectObject(SrcBmp); CBitmap *pOldBmp2 = DestDC.SelectObject(&DestBmp); DestDC.StretchBlt(0,0,150,150,&SrcDC,0,0,BmpInfo.bmWidth,BmpInfo.bmHeight,SRCCOPY); CImage image; image.Attach(DestBmp); image.Save(_T("C:\\test.bmp"), Gdiplus::ImageFormatBMP); SrcDC.SelectObject(pOldBmp1); DestDC.SelectObject(pOldBmp2);
worldy 2014-01-22
  • 打赏
  • 举报
回复
引用 7 楼 md1310 的回复:
[quote=引用 6 楼 worldy 的回复:] 图片加载到一个memdc中,BitBlt指定贴出的位置和大小
大小是如何决定呢? 根据图片的像素大小码?[/quote] 按图片大小创建比较方便
Mikey_O 2014-01-22
  • 打赏
  • 举报
回复
引用 6 楼 worldy 的回复:
图片加载到一个memdc中,BitBlt指定贴出的位置和大小
大小是如何决定呢? 根据图片的像素大小码?
worldy 2014-01-21
  • 打赏
  • 举报
回复
图片加载到一个memdc中,BitBlt指定贴出的位置和大小
Mikey_O 2014-01-21
  • 打赏
  • 举报
回复
引用 3 楼 liuzi_40 的回复:
创建 HBITMAP变量 把每一部分通过::StretchBlt截取出来就行了
截取的长度是用像素来计算吗?
Mikey_O 2014-01-21
  • 打赏
  • 举报
回复
引用 2 楼 tiger9991 的回复:
这个很简单。 你把图片载入到CDC之中,然后用BitBlt或者StretchBlt都能指定绘制CDC内存中的图片的指定位置的。
如何截图是根据位图的像素的大小/除以里面的个数吗?
泥鳅不是鱼 2014-01-21
  • 打赏
  • 举报
回复
创建 HBITMAP变量 把每一部分通过::StretchBlt截取出来就行了
傻X 2014-01-21
  • 打赏
  • 举报
回复
这个很简单。 你把图片载入到CDC之中,然后用BitBlt或者StretchBlt都能指定绘制CDC内存中的图片的指定位置的。
Mikey_O 2014-01-21
  • 打赏
  • 举报
回复
帮个忙。。。

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧