边城浪子(qq:16168666)
将大的图片压缩成jpg或gif文件将大大减少你的软件的体积.使用这个类来操作它们与使用标准的bmp格式图像一样的方便与快速. 【程序编程相关:基于MFC对话框的OpenGL类 】
ipicture接口是window95及以上操作系统支持的一个com接口,它用来操作各种在windows常见的图像格式.如,bmp.jpeg.gif等许多文件格式都能识别.使用很方便.但是可能很多朋友对这个接口并不很熟悉,或者不太了解对com接口的操作.就我个人认为,对com接口的直接操作的确也是一件比较烦的工作.所以自然就想到了将这些操作封装起来以备后用.(我了解自己是比较懒的,所以经常做这些事)经过使用,感觉很方便,呵呵,所以介绍给大家共享一下吧(热烈鼓掌). 【推荐阅读:追根究底,MFC六大关键技术剖析(第三部】
一个类,最重要的当然就是怎样使用了,所以首先就介绍这个类如何使用的问题,类的源代码就附在最后吧. 【扩展信息:Windows Socket1.1 程序】
如果你对本文有什第疑问或建议或什么更好的想法,欢迎与我讨论.
********************************************************************************cpicture 类的使用参考
类名称:cpicture
用途: 封装了通过ipicture接口对各种常见格式的图像(如bmp.jpeg.gif等)文件及资源的操作,在mfc的支持下工作,当然,如果你有兴趣,完全可以改成不需要mfc的支持就能工作.由于本人通常工作在mfc下,所以方便起见写成mfc的啦.
基类:无.
注:以下对图像的坐标.尺寸的单位指的都是象素,图像的坐标原点位于图像左上角向下是+y方向,向右是+x方向.
成员函数描述:
cpicture::cpicture();
说明:构造函数.构造一个空的cpicture对象.
bool cpicture::loadpicture(uint nresource, lpctstr lpszrestype);bool cpicture::loadpicture(lpctstr lpszresource,lpctstr lpszrestype);
说明:该函数从资源是加载一个图像,如果该对象已经包含一个图像,则原图像先被自动释放,而不论本次加载是否成功.
返回值:如果加载成功则返回true,否则返回false.
参数:nresource 指定一个资源的id号,该id指定一个资源,函数将根据该资源来生成图像,资源的格式不用担心,对象会自动识别的(如果不认识该资源的格式自然加载就会失败).
lpszrestype 指定该资源的类型,国为该函数可以识别多种非标准的图像资源所以你应该指明你加载的该资源的类型
lpszresource 指定一个资源的标识符,该标识指定一个资源,函数将根据该资源来生成图像,资源的格式不用担心,对象会自动识别的(如果不认识该资源的格式自然加载就会失败).
bool cpicture::loadpicturefromfile(lpctstr lpszfilename);
说明:该函数从文件中加载一个图像.
返回值:如果加载成功则返回true,否则返回false.
参数:lpszfilename 一个指向文件名字符串的指针.
bool cpicture::isvalid();
说明:判断对象是否有效.
返回值:如果对象中有一个有效的图像则返回true,否则返回false.
参数:无
csize cpicture::getsize();
说明:取得图象的尺寸
... 下一页