1.问题:最近尝试显示GIF动画,从网上找到CPictureEX类,可以显示GIF动画,Demo中使用也很简单。但是,在实际使用时却遇到问题,GIF动态资源显示时变为了静态GIF资源。
2.问题分析:经过多次反复实践,最终发现是在VS2008中导入GIF资源时出现了问题。在导入GIF资源时,VS2008会自动将GIF转换为静态GIF,甚至会改变GIF文件(你会发现再用图片查看器打开原来的文件时显示的是静态图片而不是动态)。
利用二进制文件查看器打开文件会发现文件内容已经改变,如下所示改变后的文件(原来的文件头为GIF):
3.解决方法:后来想到导入GIF时VS2008会改变磁盘上的文件,那如果该文件有“只读”属性,那VS2008就不能改变文件了。于是将文件设置为可读属性,然后再导入资源。用二进制文件查看器再查看文件,就发现文件没有改变:
但是运行时会报错,此时重新编译一下,然后再运行即可。
附:如何查看二进制文件:http://blog.csdn.net/xiashengfu/article/details/8662155 该文中有讲到如何利用二进制文件编辑器查看二进制文件。