cximage 进行gif 背景透明处理
之前利用GDI+实现图片背景透明处理,发现在XP下无效,后来经过研究,用CXimage实现了透明处理的过程,代码不仅精简了很多,而且在XP下同样有效。
通过学习CXIMAGE的demo,自己实现了gif背景透明的处理过程,代码如下:
CxImage image((BYTE*)ssImageSource.c_str(), ssImageSource.length(),CXIMAGE_FORMAT_GIF);
if (image.IsValid())
{
RGBQUAD c = {255, 255, 255, 0};
if (image.GetTransIndex() != 24)
{
image.IncreaseBpp(24);
}
image.SetTransIndex(0);
RGBQUAD rgbTrans = {255, 255, 255, 0};
image.SetTransColor(rgbTrans);
CQuantizer q(16,8);
q.ProcessImage(image.GetDIB());
ppal=(RGBQUAD*)calloc(16*sizeof(RGBQUAD),1);
q.SetColorTable(ppal);
image.DecreaseBpp(4,false,ppal,16);
if (!image.AlphaPaletteIsValid())
{
image.AlphaPaletteEnable(0);
}
image.SetTransIndex(image.GetNearestIndex(c));
if (ppal) free(ppal);
image.SetProgress(100);
//image.Save("pic2.gif",CXIMAGE_FORMAT_GIF);
}
long picBuffSize=0;//得到图像大小
BYTE* picBuff=NULL;//存储图像数据的缓冲
image.Encode(picBuff,picBuffSize,CXIMAGE_FORMAT_GIF);
经过实践证明,CXimage确实很强大。
cximage 进行gif 背景透明处理相关推荐
- CSS 背景(background)(背景颜色color、背景图片image、背景平铺repeat、背景位置position、背景附着、背景简写、背景透明、链接导航栏综合案例)
1. 背景颜色(color) background-color:颜色值; 默认的值是 transparent 透明的 示例代码: <!DOCTYPE html> <html lang ...
- MFC 加入背景图片并让控件背景透明
/*加入背景图片*/ BOOL CTOOLDlg::OnEraseBkgnd(CDC* pDC) { // TODO: 在此加入消息处理程序代码和/或调用默认值 CDialog::OnEraseB ...
- 让Flash背景透明兼容Firefox、IE 6和IE 7的代码
添加代码: <param name="wmode" value="transparent" > 到 <object>-</obje ...
- Sublime如何设置背景透明
Sublime如何设置背景透明 下载sublime 透明背景插件 我用的是git下载插件: git clone https://github.com/vhanla/SublimeTextTrans.g ...
- 关于png、背景透明疑难杂症综合帖
前言 在web重构中,为了追求视觉效果,会经常使用标签背景透明.透明的png图片等,可惜ie6未死,所以经常会有这样那样的问题出现,下面我总结一下ie6下各种怪症和解决方法. 标签背景透明 常规方法 ...
- Android 自定义Dialog背景透明及显示位置设置
先贴一下显示效果图,仅作参考: 代码如下: 1.自定义Dialog public class SelectDialog extends AlertDialog{public SelectDialog( ...
- WPF解决WindowsFormsHost背景透明
项目案例:WPF使用WindowsFormsHost播放视频,视频上显示边框.字幕等特效: 难点问题 1.WindowsFormsHost不支持背景透明: 2.WPF Panel.ZIndex无效,W ...
- 关于Static控件背景透明时文本覆盖重影的问题
2019独角兽企业重金招聘Python工程师标准>>> 关于Static控件背景透明时文本覆盖重影的问题 通过映射OnCtlColor消息,而后在该函数中使用pDC->SetB ...
- C# WinForm 自定义控件,DataGridView背景透明,TabControl背景透明
注意: 以下代码,属性直接赋值的语法糖要vs2015以上才支持. 1 using System.ComponentModel; 2 using System.Drawing; 3 using Syst ...
最新文章
- 面试了一个 46 岁程序员,思绪万千
- CPD和DESCR文件查看
- 机器学习性能改善备忘单
- Debian 新负责人发表演讲:Debian 的现状与面临的一些问题
- Apollo进阶课程 ⑦ | 高精地图的采集与生产
- 猪八戒网的DevOps进化论
- CGCS2000 VS WGS84
- html点击发送qq邮箱_qq邮箱怎么发送文件夹
- bzoj1783: [Usaco2010 Jan]Taking Turns
- 阿里云高级专家王林平:云数据库的运维体系构建
- 接口自动化-get/post接口详解
- freeswitch cdr mysql_freeswitch XML CDRS
- C语言:丹尼斯·里奇的不朽遗产
- 黑马程序员--多线程
- Unity小地图的实现
- 打印和显示的字体种类
- 【p4】perforce命令笔记
- 苹果手机上滑动会卡顿_7种办法解决苹果手机卡顿 让你的手机用起来如丝般顺滑...
- 各种坐标系下坐标转换关系
- 搭积木(block)
热门文章
- 蚂蚁金服阳振坤:用10年时间打造一个“顶天立地”的产品
- 第一性原理(DFT)基础知识
- 微信一次性订阅消息流程
- protobuf详细介绍和使用
- 逆袭增长1300万播放,UP主仅靠20万粉登顶B站!
- 基于 mPaaS 框架 Portal-Bundle 接入方式下 Multidex 分包失效的解决方法
- 二十八、动词不定式 2 做表语、宾语、后置定语、状语
- 已入职今日头条!并附上8面面经
- c语言程序如何在keil中运行,keil c51中C程序的启动过程
- Windows Office 2019 很抱歉,此功能看似已中断,并需要修复