社区
界面
帖子详情
CImage和Gif透明的问题
fool_leave
2004-08-30 07:24:36
我用CImage来显示Gif图片,图片的背景是透明的。用TransparentBlt来绘制应该怎么设置crTransparent参数?怎么实现绘制后的透明背景效果?
...全文
541
6
打赏
收藏
CImage和Gif透明的问题
我用CImage来显示Gif图片,图片的背景是透明的。用TransparentBlt来绘制应该怎么设置crTransparent参数?怎么实现绘制后的透明背景效果?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fool_leave
2004-09-03
打赏
举报
回复
不一定,有些不是.
试过一个gif,我把左上角(0,0)的颜色提取出来设置为透明色,结果该透明的没透明,不该透明的透明了.
菜牛
2004-09-03
打赏
举报
回复
好像GIF左上角一点是透明色,不肯定。
fool_leave
2004-09-03
打赏
举报
回复
up
fool_leave
2004-08-31
打赏
举报
回复
这个方法我也大致会用,可是我不知道透明色怎么设置。你的方法里把蓝色设置为了透明色。
用IE打开一个背景透明的GIF图片,显示出来的图像也是背景透明的,而对于IE来说它不知道这个gif到底应该把什么颜色设置为透明色。我的程序怎么做到这一点呢?
fool_leave
2004-08-31
打赏
举报
回复
up
名牌大灰狼
2004-08-30
打赏
举报
回复
TransparentBlt,也可以通过自己的代码实现类似TransparentBlt的功能,实现过程也有两种形式,一种是事先做一张掩码位图,另一种是动态生成掩码位图。本文将介绍动态生成掩码位图绘制具有透明区域位图的方法。
一、TransparentBlt 函数的使用
TransparentBlt 函数在Windows98/Windows2000以上版本运行,系统中需要包含 Msimg32.dll,使用时可以链接 Msimg32.lib。
Windows98下的TransparentBlt会产生资源泄漏,所以不建议在WIN98下使用该函数。
TransparentBlt函数原型如下:
BOOL TransparentBlt(
HDC hdcDest, // 目标DC
int nXOriginDest, // 目标X偏移
int nYOriginDest, // 目标Y偏移
int nWidthDest, // 目标宽度
int hHeightDest, // 目标高度
HDC hdcSrc, // 源DC
int nXOriginSrc, // 源X起点
int nYOriginSrc, // 源Y起点
int nWidthSrc, // 源宽度
int nHeightSrc, // 源高度
UINT crTransparent // 透明色,COLORREF类型
);
使用示例:
CBitmap FootballBMP;
FootballBMP.LoadBitmap(IDB_FOOTBALLBMP);
CDC ImageDC;
ImageDC.CreateCompatibleDC(pDC);
CBitmap *pOldImageBMP = ImageDC.SelectObject(&FootballBMP);
TransparentBlt(pDC->m_hDC, 0, 0, 218, 199, ImageDC.m_hDC, 0, 0, 218, 199, RGB(0,0,0xff));
ImageDC.SelectObject(pOldImageBMP);
C
Image
的一般使用方法和技巧
C
Image
的一般使用方法和技巧 Visual C++的CBitmap类的功能是比较弱的,它只能显示出在资源中的图标、位图、光标以及图元文件的内容,而不像VB中的
Image
控件可以显示出绝大多数的外部图像文件(BMP、
GIF
、JPEG等)。如果想要在对话框或其他窗口中显示外部图像文件则只能借助于第三方提供的控件或代码,未免过于繁琐. 现在,.net引入了一个功能非常强大的新类 ----- C
Image
.有了C
Image
类,Visual C++在图像方面的缺憾将一去不复返。C
Image
是MFC和ATL共享的新类,它能从外部磁盘中调入一个JPEG、
GIF
、BMP和PNG格式的图像文件加以显示,而且这些文件格式可以相互转换。例如通过简单的几句,就可以实现C
Image
类和CBitmap类实例的:
C
Image
类的使用
学习用MFC做数字图像处理入门的同学必看,该代码讲述了C
Image
类对图像处理的封装应用,它支持BMP,JPEG等图片的格式,使得图像处理得到了大大的简化。
VS2010中MFC加载
gif
动态图片
使用vs2010开发工具,MFC窗体应用程序加载显示
gif
动态图片源代码,并附有加载
gif
动态图片注意事项,避免加载的
gif
图片不能动态显示。
一个读写jpg,png,
gif
,bmp的类库,但不能写
gif
一个读写jpg,png,
gif
,bmp的类库,但不能写
gif
使用C
Image
类处理图像显示与格式转换的源码程序.zip_c
image
_图像 格式转换_图像处理_图像显示
这是一个使用C
Image
类处理图像显示与格式转换的源码程序,包含了许多可以让大家学习的内容
界面
15,978
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章