`

graphicsmagic编译

 
阅读更多

1. 下载源码

地址:https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/

找到对应版本下载

解压:tar -zxvf GraphicsMagick-1.3.20.tar.gz

 

2. 编译步骤

a. bash ../configure(configure文件的路径) -prefix=/home/hzliukai/space/C/GraphicsMagick-1.3.20/build(安装的路径)

 

b. make

如果提示

 

如果gcc等工具已经安装,则可能是Makefile和libtool问题。有两种解决方法:

1. 检查/bin/sh的软链接,linux默认指向dash,把/bin/sh指向bash

2. 将Makefile和libtool中的SHELL=/bin/sh修改为/bin/bash

 

之后,直接编译即可。

可能会遇到缺少X11/extensions/shape.h文件的情况,需要安装x11库

 

c. make install

执行make install可以将gm生成到prefix所指向的位置。

 

3. 支持webp

gm支持webp需要将webp的lib库编译进去具体步骤为:

 

先下载libwebp-0.3.0.tar.gz tar -zxvf libwebp-0.3.0.tar.gz cd libwebp-0.3.0 ./configure && make && make install cp /usr/local/lib/libwebp.so.4.0.2 /usr/lib64/ ln -s /usr/lib64/libwebp.so.4.0.2 /usr/lib64/libwebp.so.4 ln -s /usr/lib64/libwebp.so.4.0.2 /usr/lib64/libwebp.so

 

编译步骤为在前面的基础上加上:--with-webp

通过gm -version判断是否支持webp

 

4. 性能优化

按照上述步骤编译出来的版本性能较差,如果要提升性能,需要关闭openmp。编译的时候添加:

--disable-openmp

因此总的编译命令为:

bash ../configure(configure文件的路径) -prefix=/home/hzliukai/space/C/GraphicsMagick-1.3.20/build(安装的路径) --with-webp --disable-openmp

 

原因是:开启openmp后,gm多线程只会在一个核上运行,无法充分发挥多核CPU的性能。这是由于jpeg库造成的,libjpeg is not thread safe,而我们处理的大部分图片都是jpeg的,在处理jpeg图片时,gm会转成单线程运行,所以打开openmp后会造成性能下降。

 

不推荐的解决方案:修改coders/jpeg.c文件,在RegisterJPEGImage() 函数中把两个entry->thread_support的值改为True。如下图:



 

  • 大小: 79.5 KB
  • 大小: 238.9 KB
分享到:
评论

相关推荐

    GraphicsMagic-开源

    这个软件项目由Delphi 6/7结合Graphics32库进行开发和编译,Delphi是知名的面向对象的Pascal编程环境,而Graphics32则是一个高性能的2D图形库,为Delphi和C++Builder提供支持。 GraphicsMagic的功能丰富多样,涵盖...

    GraphicsMagick在Linux环境的安装

    总之,GraphicsMagick是Linux系统中一个不可或缺的图像处理工具,它的安装过程简单明了,无论是通过包管理器还是源码编译,都能轻松完成。熟练掌握GraphicsMagick的使用,可以极大地提高你在图像处理方面的效率。

    graphicsmagic:GraphicsMagic是在GPL下分发的一个开源项目。 它是在Delphi中使用多个外部开源库(例如Graphics32)开发的图像处理应用程序

    图形魔术师 GraphicsMagic是在GPL下分发的一个开源项目。 它是在Delphi中使用多个外部开源库(例如Graphics32)开发的图像处理应用程序。

    图像处理仿ps程序

    "图像处理仿ps程序"指的是GraphicsMagic,这是一款强大的、免费的图像编辑工具,被誉为是类似于Adobe Photoshop的软件。GraphicsMagic提供了丰富的图像处理功能,让用户能够在不购买昂贵的专业级图像编辑软件的情况...

    Magic Matrix

    魔方阵: 各行各列以及对角线上的数字的和相等. 如:3阶魔方阵为 8 1 6 3 5 7 4 9 2 <br>填写的方法是:(只适用于奇数阶的魔方阵) a.1填写在第一行的正中央; b.行数减一,列数加一,此为下一个...

    graphicsmagick:非官方的 github graphicsmagic 镜像(有时会更新)

    安装 GraphicsMagick GraphicsMagick 提供全面的实用程序、编程接口和 GUI,以支持文件格式转换、图像处理和 2D 矢量渲染。 GraphicsMagick 最初基于 ImageMagick Studio 的 ImageMagick(最初由杜邦的 John Cristy...

    图像处理软件怎样选择图像处理软.pdf

    而GraphicsMagic则提供了基本的几何图形编辑、图片特效处理和格式转换,适合日常简单操作。金锋图像处理系统则更加强大,拥有照片处理、相片制作、图层功能和大量图像特效,甚至支持插件扩展。 2. 易用性:对于非...

    GraphicsMagick-1.3.26-Q16-win64-dll.exe

    我真的希望这个资源能够免费,但是我并没有发现0积分这一选项,sorry

    Nodejs下使用gm圆形裁剪并合成图片的示例

    说到Nodejs下的图片处理可能第一想到就是gm,gm底层可以是GraphicsMagic(其实也是gm的由来),也可以是ImageMagick(其实GraphicsMagic本身也是从ImageMagic分割而来,现在独立了)。虽然这两个工具本身都不是js...

    ContentCGI:FreeBSD的可扩展FastCGI守护程序

    ContentCGI FreeBSD的可扩展FastCGI守护程序 在大约5分钟内在FreeBSD上构建,安装和启动: 以root用户身份登录,并通过FreeBSD package + ports... 因此,从FreeBSD软件包存储库中添加GraphicsMagic的一些真正需要

    magick:Lua使用FFI绑定到LuaJIT的ImageMagick

    魔术师 Lua使用FFI绑定到ImageMagick的或GraphicsMagick的 。安装您将需要同时安装LuaJIT(任何版本)和MagickWand或GraphicsMagick。 在Ubuntu上,要使用ImageMagick,可以运行: $ sudo apt-get install luajit$ ...

    evans:FMI一堆课程的网站

    要求Ruby 2.0以上PostgreSQL,最好是9.0+ 雷迪斯ImageMagick或兼容的程序包(例如GraphicsMagic)开发设置这是一个非常标准的Rails应用程序,但site.yml 。 步骤如下: 克隆存储库运行bundle install 创建一个config...

    PDFOptimizer

    这将针对以下依赖项一一显示两个安装向导: a) 幽灵脚本b) GraphicsMagic 安装向导很容易遵循,但为了提供更多支持,软件包中包含了安装这两个依赖项的指南。 这些指南包含安装这些模块时出现的每个屏幕的屏幕截图...

    nuxeo-binary-metadata

    该插件允许使用ImageMagick,GraphicsMagic或ExifTool读取任何二进制元数据,并使用ExifTool写入元数据 关于-要求 nuxeo-binary-metadata是nuxeo platform的插件。 它允许读取/写入存储在Blob(基本上是磁盘上的...

    图像魔术师 GraphicsMagicPro Delphi源码版..rar

    在深入探讨GraphicsMagicPro Delphi源码之前,我们先了解一下GraphicsMagic。GraphicsMagick是一个开源的图像处理工具,支持超过90种文件格式,提供了一系列的图像操作,如剪切、旋转、缩放、颜色转换、批处理处理等...

Global site tag (gtag.js) - Google Analytics