本文简单的介绍一下C++语言中如何识别图片文件的类型,以及各图片类型之间的转换方法,并提供相关的源码供大家参考,感兴趣的朋友快来看看吧
1、图片类型的识别
一般情况下,不同类型的图片文件都会有其对应的后缀名,比如.jpg、.bmp、.jpg等。但仅仅通过后缀名,是没法判别文件是不是图片以及图片文件真实类型,必须通过文件内容的起始标记字段才能判断出来。
每种图片文件的类型标识字段存储于文件内容开始的几个字节,读出这几个字节就能判断出图片类型了。下面给出常见的图片类型的判断代码。
以下代码都是调用_tfopen(支持Unicode)打开文件,调用fread读出文件中的类型标记数据。注意,打开文件时必须设置 b - 二进制参数,如果不设置,调用fread时可能读不出指定字节数的内容!
1.1、bmp图片
1.2、jpg图片
1.3、jpg图片
1.4、gif图片
1.5、tiff图片
1.6、使用CreateFile和ReadFile API函数读取内容
上面是使用fopen和fread读取文件中的内容的,下面给出调用CreateFile和ReadFile API函数实现的代码:
2、图片之间的相互转换
有时我们需要进行不同图片类型之间的相互转换,比如将占用较大存储空间的bmp图片转换成jpg或者jpg图片。可以选择使用GDI+类实现不同图片类型之间的转换。在使用GDI+之前,要先初始化GDI+库:
在退出程序时,要关闭GDI+库:
实现图片类型之间相互转换的代码如下:
以上就是C++中图片类型的识别与转换详解方法的详细内容,更多关于C++ 图片类型转换的资料请关注编程学习网其它相关文章!