实验: png图象库_libpng

今天安装<Xtreme Toolkit Professional 12.1.1>时,偶然发现了xtreme也使用了第三方的png库,libpng at sourceforge.net, 纯c, 跨平台.

 

C:/Program Files/Codejock Software/MFC/Xtreme ToolkitPro v12.1.1/Source/GraphicLibrary/libpng

 

那作个实验,自己读取显示png.

 

<2010_0925_0040>

libpng有新版, 我没用.

http://www.libpng.org/pub/png/libpng.html

 

我用的还是Xtreme自带的, xtreme版本: Xtreme ToolkitPro v13.2.1

 

libpng源码路径: <C:/Program Files/Codejock Software/MFC/Xtreme ToolkitPro v13.2.1/Source/GraphicLibrary>

 

libpng用到zlib

zlib源码路径: <C:/Program Files/Codejock Software/MFC/Xtreme ToolkitPro v13.2.1/Source/GraphicLibrary/zlib>

 

codeproject上有个简明易用的例子

http://www.codeproject.com/KB/graphics/PNGView.aspx

 

我在此基础上做的实验, 也学学那个类PngImage.

 

<windir>/system32/DirectX/Dinput/下有很多.png, 不用劳神找png.

 

运行效果

 

用途:处理x窗口背景擦除后, 给x窗口做背景.  这比用背景刷子装入位图好的多.

 

实验工程下载点:

 

linpng显示透明图片的资料

旧版资料:

http://sourceforge.net/projects/png-mng/files/pngbook%20demo%20programs/20010630/pngbook-20010630-src.tar.gz/download

 

新版资料:

http://sourceforge.net/projects/png-mng/files/pngbook%20demo%20programs/20080316/pngbook-20080316-src.zip/download

 

libpng的demo没编译过去,现有工程中png的config.h中加入支持透明的宏,没效果。

 

那用cxImage来做,把需要的功能整理出来.

http://www.codeproject.com/KB/graphics/cximage.aspx

 

实验过了, 用cxImage是可以显示透明背景的.png. 下面是从原始demo中抓的图,现在要做的就是把需要的功能整理出来。

 

想改到Dialog中,做个实验。

有头绪了,主要是在擦除背景处,从cximage中取出流,在dc上画。跟了一个cximage的原版demo, 看了个大概。上面截图中的网格背景是用刷子画出来的,其实背景是透明的。我去掉了刷子的代码,背景就是白的。

 

和同事讨论了些问题,没来得及整理Demo。

细节还要看整理出程序的运行结果,进行调整。

png显示透明背景肯定是可以的。明天晚上是周末,正好可以整理这个demo, 时间有的是.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值