关于处理图片,之前写了两篇博客关于ImageMagick的: 《ImageMagick–介绍》 《ImageMagick–VS2015环境配置、开发(registrykeylookupFailed)》
但是,在没有安装ImageMagick的机器上,会报错。我们需要修改源文件,改变code path。
这有点尴尬,成本有点高,所以今天就再介绍介绍CImg,来搞一搞。
只需要一个head就可以搞定了。
CImg介绍: The CImg Library is a small, open-source, and modern C++ toolkit for image processing。
网址: http://cimg.eu/download.shtml
下载后解压: 图1
接下来就是新建工程了,然后包含头文件就可以了。
接下来介绍一下 如何操作JPEG文件。
libjpeg介绍 libjpeg库是专门用于jpeg图片格式解压和压缩的库
网址: http://libjpeg.sourceforge.net/
解压,最主要的是编译: 1修改makefile.vc
# Pull in standard variable definitions !include <C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include\Win32.Mak>也就是修改到自己电脑上Win32.Mak所在的位置,如果出现错误: makefile.vc(11) : fatal error U1052: 未找到文件“Win32.Mak” 就要再仔细检查检查路径了。
2把jconfig.vc改为jconfig.h 否则出现错误: fatal error U1073: 不知道如何生成“jconfig.h”
3使用visual studio的命令行工具
d:\libjpeg\jpeg_vs2013\jpeg-6b>nmake /f makefile.vc这时候就会出现libjpeg.lib
使用CImg和libjpeg 直接上代码了:
#include<iostream> #define XMD_H #define cimg_use_jpeg #include "CImg.h" int main() { std::string path = "00.JPG"; std::string save_path = "02.JPG"; cimg_library::CImg<unsigned char>image(path.c_str()); image.get_resize(1600, 900, -100, -100, 1).save_jpeg(path.c_str(), 100); system("pause"); return 0; }