有关Topo节点变色的问题!

dash 2003-07-02 11:37:49
问题描述如下:
比如一个拥有白色背景的小位图,我怎么样才能使显示时,背景变成红色
(用不着图像边缘处理什么的,就是该图中所有为白色的部分变成红色就可以了),
当然希望效率比较高,占用资源少。
还有一个问题,怎么样才能在一张小位图上蒙上一层颜色,比如蒙上一层深蓝
色,表示选中什么的。

比较急,也许熟悉的朋友应该不会太难吧, 谢谢
...全文
69 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
UDX协议 2003-07-02
  • 打赏
  • 举报
回复
// CImageList imageList;
// CBitmap bitmap;
/// bitmap.LoadBitmap(IDB_BITMAP1);
// imageList.Create(32, 31, ILC_COLORDDB|ILC_MASK, 32, 1);
// imageList.Add(&bitmap, RGB(255,0,0));

在imageList.Add(&bitmap, RGB(255,0,0));中,改变rgb()的颜色就可以达到你要的郊果。我以前是这样做的。
至于如可画imagelist,查msdn.

shesh 2003-07-02
  • 打赏
  • 举报
回复
背景红色还不好办啊.

建立一个红色的位图.
然后用TransParentBit透明的把你的位图画到上面不就成了?
dash 2003-07-02
  • 打赏
  • 举报
回复
ok ,第二个问题知道了,多谢。

BitBlt之类的函数原理其实说到底也是SetPixel操作,只不过是用了缓冲内存
>>但是SetPixel的确很占资源啊,我以前试过的。
清泉ys 2003-07-02
  • 打赏
  • 举报
回复
BitBlt之类的函数原理其实说到底也是SetPixel操作
只不过是用了缓冲内存
清泉ys 2003-07-02
  • 打赏
  • 举报
回复
你先建一个同CRect大小的蓝位图
最后显示时
BOOL BitBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, DWORD dwRop );
的最后一个参数可用 SRCAND
dash 2003-07-02
  • 打赏
  • 举报
回复
这样太夸张了吧,一个象素一个象素的画,太慢了,系统资源也受不了。
我想应该是有些类似BitBlt之类的函数,来屏蔽拷贝颜色之类的。
清泉ys 2003-07-02
  • 打赏
  • 举报
回复
for(i //从位图left to right
for(j //top to bottom
if(pDC->GetPixel(i,j) == RGB(255,255,255))
pDC->SetPixel(i,j,RGB(255,0,0));
zyoujie 2003-07-02
  • 打赏
  • 举报
回复
祝你成功
dash 2003-07-02
  • 打赏
  • 举报
回复
ok , 思路有了,我先试试啊

19,468

社区成员

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

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