社区
界面
帖子详情
如何使位图透明,不使用MFC,使用PICTURE控件的。重分感谢!!!
zhxhaixing
2005-10-09 01:56:06
我使用VC导入一张位置(有背景),然后用VC的PICTURE控件显示,背景不透明,请问大家如何处理?记住不使用MFC的。谢谢大家!!!
...全文
388
23
打赏
收藏
如何使位图透明,不使用MFC,使用PICTURE控件的。重分感谢!!!
我使用VC导入一张位置(有背景),然后用VC的PICTURE控件显示,背景不透明,请问大家如何处理?记住不使用MFC的。谢谢大家!!!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
MyGrid
2005-12-10
打赏
举报
回复
作个记号,学习。。。
huwei001982
2005-10-10
打赏
举报
回复
晕, 别人已经解释的非常详细了!
goodboyws
2005-10-10
打赏
举报
回复
晕,你在资源编辑器里Picture好歹也要放个地方吧,效果是一样的。用Picture也解决不了分辨率的问题
zhxhaixing
2005-10-09
打赏
举报
回复
怎么计算啊?用PICTURE根本不用管位置啊
goodboyws
2005-10-09
打赏
举报
回复
你自己可以计算位置,跟你用Picture是一样的
zhxhaixing
2005-10-09
打赏
举报
回复
效果是出来了,刚才我的正好有m_hImageList这个变量所以没报错。
不过这样直接指定坐标画可能存在这样的问题:当机器分辨器不一样的时候,会不会出现位置不好看的情况(因为在我机器上画出来刚好位置合适,换台不同分辨器的机子会不会出现位置不好看的情况)
goodboyws
2005-10-09
打赏
举报
回复
ImageList_Add(hImageList, hBitmap, NULL);换为
ImageList_AddMasked(hImageList, hBitmap, RGB(0, 128, 128));//这是背景颜色
假定你的背景色是RGB(0, 128, 128);
不好意思,注意力不集中,总是敲错
原先是ImageList_AddMasked(m_hImageList, hBitmap, RGB(0, 128, 128));
zhxhaixing
2005-10-09
打赏
举报
回复
PAINTSTRUCT ps;
HDC hdc = BeginPaint(&ps);
HBITMAP hBitmap= LoadBitmap(_Module.GetResourceInstance(), MAKEINTRESOURCE(IDB_BITMAP1));
BITMAP bm;
GetObject(hBitmap, sizeof(bm), &bm);
SIZE size;
size.cx = bm.bmWidth;
size.cy = bm.bmHeight;
HIMAGELIST hImageList = ImageList_Create(size.cx, size.cy, ILC_MASK | ILC_COLOR8, 0, 1);
ImageList_Add(hImageList, hBitmap, NULL);
ImageList_AddMasked(m_hImageList, hBitmap, RGB(0, 128, 128));//这是背景颜色
ImageList_Draw(hImageList, 0, hdc, 8, 8, ILD_TRANSPARENT);
EndPaint(&ps);
return 0;
这是我搬过来的代码,但是ImageList_Add(hImageList, hBitmap, NULL);去掉
则不管透明色设多少,图片都看不到,加上这句就行了。但是背景颜色没去掉。
goodboyws
2005-10-09
打赏
举报
回复
HBITMAP hBitmap= LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BITMAP1));
BITMAP bm;
GetObject(hBitmap, sizeof(bm), &bm);
SIZE size;
size.cx = bm.bmWidth;
size.cy = bm.bmHeight;
zhxhaixing
2005-10-09
打赏
举报
回复
就是图片背景透明,
BITMAP bm;
GetObject((HBITMAP)myBitmap.GetSafeHandle(), sizeof(bm), &bm);
SIZE size;
我是在ATL工程中用的,这些有错误
goodboyws
2005-10-09
打赏
举报
回复
什么叫背景透明
zhxhaixing
2005-10-09
打赏
举报
回复
goodboyws(深夜不眠者) ,你没有去除背景吧,背景要透明的
goodboyws
2005-10-09
打赏
举报
回复
ImageList_Add(hImageList, hBitmap, NULL);去掉
goodboyws
2005-10-09
打赏
举报
回复
呵呵,是我的代码有问题
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
HBITMAP hBitmap= LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BITMAP1));
BITMAP bm;
GetObject((HBITMAP)myBitmap.GetSafeHandle(), sizeof(bm), &bm);
SIZE size;
size.cx = bm.bmWidth;
size.cy = bm.bmHeight;
HIMAGELIST hImageList = ImageList_Create(size.cx, size.cy, ILC_MASK | ILC_COLOR24, 0, 1);
ImageList_Add(hImageList, hBitmap, NULL);
ImageList_AddMasked(m_hImageList, hBitmap, RGB(0, 128, 128));//这是背景颜色
ImageList_Draw(hImageList, 0, hdc, 20, 20, ILD_TRANSPARENT);
......
EndPaint(hdc, &ps);
zhxhaixing
2005-10-09
打赏
举报
回复
100大洋全给你啦,你在哪里指定透明色的?
goodboyws
2005-10-09
打赏
举报
回复
晕,你给我多少钱啊
zhxhaixing
2005-10-09
打赏
举报
回复
能不能加点注释啊?看不太懂啊。
goodboyws
2005-10-09
打赏
举报
回复
一样
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
HBITMAP hBitmap= LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BITMAP1));
BITMAP bm;
GetObject((HBITMAP)myBitmap.GetSafeHandle(), sizeof(bm), &bm);
SIZE size;
size.cx = bm.bmWidth;
size.cy = bm.bmHeight;
HIMAGELIST hImageList = ImageList_Create(size.cx, size.cy, ILC_MASK | ILC_COLOR24, 0, 1);
ImageList_Add(hImageList, hBitmap, NULL);
ImageList_Draw(hImageList, 0, hdc, 20, 20, ILD_TRANSPARENT);
......
EndPaint(hdc, &ps);
zhxhaixing
2005-10-09
打赏
举报
回复
我不能使用MFC的啊。
goodboyws
2005-10-09
打赏
举报
回复
你可以直接在对话框的OnPaint里画,
用ImageList
CPaintDC dc(this);
CBitmap myBitmap;
myBitmap.LoadBitmap(IDB_BITMAP1);
BITMAP bm;
GetObject((HBITMAP)myBitmap.GetSafeHandle(), sizeof(bm), &bm);
SIZE size;
size.cx = bm.bmWidth;
size.cy = bm.bmHeight;
CImageList imageList;
imageList.Create(size.cx, size.cy, ILC_MASK | ILC_COLOR24, 0, 1);//ILC_COLOR24指24位位图
imageList.Add(&bmGamePos, RGB(0, 128, 128));//这是背景颜色
CPoint pt(20, 20);
imageList.Draw(&dc, 0, pt, ILD_TRANSPARENT);
加载更多回复(2)
MFC
pic
tu
re
控件
上画图
在
MFC
(Microsoft Foundation Classes)框架中,`CStatic`类的一个特殊实例是`C
Pic
tu
reCtrl`,通常称为“
pic
tu
re
控件
”。这个
控件
用于显示
位图
、图标或其他图形资源。本文将深入探讨如何在
MFC
的
pic
tu
re
控件
上进行...
MFC
pic
tu
re
控件
使用
在
MFC
中,"
pic
tu
re
控件
"通常指的是CStatic类的一个特化版本,能够用于显示静态图像,如
位图
、图标等。本教程将详细介绍如何在
MFC
应用中
使用
pic
tu
re
控件
来显示用户选择的图片。 首先,我们需要在资源编辑器中添加一...
MFC
中关于
pic
tu
re
控件
的
使用
技巧
在
MFC
应用开发中,经常会遇到需要操作和展示图像的情况,这时我们可能会
使用
到
Pic
tu
re
控件
。本文将详细介绍如何在
MFC
中
使用
Pic
tu
re
控件
以及与之相关的
控件
如TabControl的
使用
技巧。 首先,让我们深入理解
MFC
中的...
MFC
中在
pic
tu
re
控件
上实现截屏。
在
MFC
(Microsoft Foundation Classes)框架中,要在
Pic
tu
re
控件
上实现类似QQ或WeChat PC端的截图功能,我们需要理解
MFC
控件
的基本操作、图形设备接口(GDI)以及如何处理用户输入事件。以下是一份详细的步骤和知识...
MFC
单文档 对话框
pic
tu
re
控件
的背景用图片填充
在对话框中,如果你希望将图片设置为
Pic
tu
re
控件
的背景,你需要先将图片资源加载到`CBitmap`对象,然后设置
控件
的样式为`SS_BITMAP`,最后
使用
`SetBitmap`函数将
位图
设置到
控件
上。 在实际开发中,你还需要考虑一些...
界面
15,980
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章