实验: 用CxImage在同一个DC上显示多幅PNG

来源:互联网 发布:java设计模式详解pdf 编辑:程序博客网 时间:2024/06/14 08:23

 

 

CxImage工程rul:

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

 

下载后,重新调整了CxImage工程的头文件, 在IDE中把CxImage子工程依赖关系和.lib, .h, .dll的输出重新制定.

修改CxImage自带的Demo包含的.h,.lib, 调试目录, 测试通过.  和原版的效果相同.

 

另外开工程,在Dlg中同一个Picture Control中显示一副静态的png和轮流打开24幅png用来显示动画. 静态显示的png效果很好,轮流打开的png刷新有问题.

查阅CxImage的跟贴, 发现很多人有这种应用.比如:

1. 从监控用的数字相机中得到图片后,不定时的显示在dc上.

2. 由程序控制, 不同条件下,显示不同图片.

 

作者'Davide Pizzolato'没有给出正面回答. 也许作者已经解决了这个问题。

 

CxImagtif打开.tiff文件可以解决动画显示的问题。tiff是256色的, 显示没有.png好. tiff是多帧, 可以控制播放指定帧。这个实验暂时不用播放.tiff的方式, 因为能随时指定播放哪张图片更有意义.

 

现在要从跟贴中找出这种应用的解决方法. 不过这贴子确实太火了,从2001~2010之间跟贴不断,  翻到70多页, 还没翻到第一页再哪! 得慢慢的来看跟贴。找出这种应用的解决方法.

 

作者提供了一个demo, 用来在picture control中用cximage显示图片.

url: www.xdp.it/tmp/cximage/picturetest.zip

 

验证结果: Picture Control 用上面Demo中的代码,只能显示.BMP的资源, PNG的显示不了.

Picture Control的设置

原始代码

实验代码

失败的显示效果, 透明的PNG的内容是一个转动的时钟指针, 但是显示成了转动的黑白块。

如果Picture 的Type 属性不是Bitmap, 则什么都显示不出来.

作者给出了解决方法如下:


Re: i want to use picture control show jpg tif or bmp in dialogsupporterDavide Pizzolato6hrs 22mins ago 

it is because that demo uses a subset of CxImage; link the demo or your application to the whole cximage libraries (cximage, lipng, zlib, ...) and you can load also the other file formats

原来没有连接最完整的CxImageDll.

我编译CxImage时, 确实没有注意是否打开了所有图片格式的开关.晚上再做个实验来验证这点.

既然作者这么说的, 自然他已经过做实验.