关于图象混合的问题

aspirerME 2004-08-19 09:49:29
我用CxImage处理图象,现在打开一个tiff文件,然后再自己读入一个bmp位图,现在就想在显示bmp在tiff上的时候不是简单的画上去,想把它们混合成一个tiff,或者bmp文件,请问怎么解决!望高手给出代码!问题解决了再加分!!!
...全文
125 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
aspirerME 2004-08-30
  • 打赏
  • 举报
回复
高手来看看
aspirerME 2004-08-26
  • 打赏
  • 举报
回复
我是新手啊就是搞不定才来请教的,望楼上的高手给点代码看看,成功了我开帖给分。
aspirerME 2004-08-26
  • 打赏
  • 举报
回复
up
xlt123 2004-08-25
  • 打赏
  • 举报
回复
加一句,编译时请链接lib MSIMG32.LIB
aspirerME 2004-08-25
  • 打赏
  • 举报
回复
感谢以上各位的解答,其实我想解决的问题就是用cximage打开一个tiff文件,然后再自己读入一个bmp位图画在tiff上,现在想把他们在一起保存为一个tiff或者bmp不知道怎么解决。
qrlvls 2004-08-25
  • 打赏
  • 举报
回复
CXImage连源码都提供了,他有一个CXMemFile的类,你可以把在内存位图中AlphaBlend,再通过CXImage保存,连源码都给了,不会搞不定吧
xlt123 2004-08-24
  • 打赏
  • 举报
回复
用AlphaBlend;
WINGDI.H中定义为
BOOL WINAPI AlphaBlend(HDC,int,int,int,int,HDC,int,int,int,int,BLENDFUNCTION);
不过好象只能在 Winnt5.0(2000)以后的版本中使用
fun(HDC hdc,HBITMAP bmpSour,HBITMAP bmpDest){
BLENDFUNCTION bf;
bf.BlendOp = AC_SRC_OVER;
bf.BlendFlags = 0;
bf.SourceConstantAlpha = 128; //(0-255)透明度
bf.AlphaFormat = 0;

HDC hMemDC = ::CreateCompatibleDC(hdc);
HBITMAP hOld = (HBITMAP)SelectObject(hMemDC,bmpDest);
Bitblt(hdc,0,0,hMemDC,0,0,宽,高);
SelectObject(hMemDC,bmpSour)
AlphaBlend(hdc,0,0,宽,高,hMemDC,0,0,宽,高,bf);
SelectObject(hMemDC,hOld);
DeleteDC(hMemDC);
}
aspirerME 2004-08-24
  • 打赏
  • 举报
回复
还有高手解答吗,望给出点代码
lchlovely 2004-08-20
  • 打赏
  • 举报
回复
(1)新建一个与显示器兼容的位图句并,用::CreateCompatibleBitmap,
(好象是这样拼写);
(2)将这个句并选到一块内存中,
(3)在这快内存中画tiff文件;
(4)在这块内存中画bmp文件;
(5)将这个句并选出内存;
(6)通过句并将DDB转换为tiff.

19,468

社区成员

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

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