• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

cynchanpin

  • 博客园
  • 联系
  • 订阅
  • 管理

View Post

CImg、libjpeg--介绍、配置(操作JPEG)

关于处理图片,之前写了两篇博客关于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

接下来就是新建project了。然后包括头文件就能够了。

接下来介绍一下 怎样操作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;
}

posted on 2017-08-15 21:37  cynchanpin  阅读(1373)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3