Java图片处理 - 安装ImageMagick库使用convert命令_java no freetype-程序员宅基地

技术标签: java  Java图片处理  图像处理  安装  图片处理  imagemagick  

Java图片处理 - 安装ImageMagick库使用convert命令

之所以要使用第三方库来处理图片,主要原因是:

  • 原生的ImageIO、GIFImageReader可能导致jpg图片发红
  • gif图片获取一帧的时候,可以异步处理
  • 可以一次将图片切出各种比例大小的图(可异步)
  • 可以批处理目录下的图片(可异步)

以上就是我选择ImageMagick中convert命令处理图片的原因


Mac 安装

直接使用brew方式安装就可以了,如果Mac上没有安装brew,可以看看brew官网

brew install imagemagick

安装完成后可以使用convert -version查看安装状态

$ convert -version
Version: ImageMagick 7.0.5-3 Q16 x86_64 2017-03-18 http://www.imagemagick.org
Copyright:  1999-2017 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules 
Delegates (built-in): bzlib freetype jng jpeg ltdl lzma png tiff xml zlib

Windows 安装

下载
ImageMagick:https://www.imagemagick.org/script/download.php
GraphicsMagick: https://sourceforge.net/projects/graphicsmagick/files/

ImageMagick安装:
这里写图片描述
这里写图片描述
这里写图片描述

GraphicsMagick安装:
这里写图片描述
这里写图片描述
这里写图片描述

你会发现,这两个软件的安装界面怎么这么像?其实他们是好基友,GraphicsMagick是从ImageMagick5.x的版本迁出的,然后通过部分修改后发展成了现在的分支。

ImageMagick、GraphicsMagick安装完成后,记住两个程序的安装目录,然后将目录配置到Windows系统环境变量的Path中。

环境变量配置完成后,新打开一个cmd命令行窗口,输入:gm -version命令验证安装是否正常。

C:\Users\Administrator>gm -version
GraphicsMagick 1.3.25 2016-09-05 Q16 http://www.GraphicsMagick.org/
Copyright (C) 2002-2016 GraphicsMagick Group.
Additional copyrights and licenses apply to this software.
See http://www.GraphicsMagick.org/www/Copyright.html for details.

Feature Support:
  Native Thread Safe       yes
  Large Files (> 32 bit)   yes
  Large Memory (> 32 bit)  no
  BZIP                     yes
  DPS                      no
  FlashPix                 no
  FreeType                 yes
  Ghostscript (Library)    no
  JBIG                     yes
  JPEG-2000                yes
  JPEG                     yes
  Little CMS               yes
  Loadable Modules         yes
  OpenMP                   yes (200203)
  PNG                      yes
  TIFF                     yes
  TRIO                     no
  UMEM                     no
  WebP                     yes
  WMF                      yes
  X11                      no
  XML                      yes
  ZLIB                     yes

Windows Build Parameters:

  MSVC Version:            1500
  Processor target:        Pentium Pro, Pentium II, and Pentium III
  Processor arch:          NONE

C:\Users\Administrator>

能够像上面一样输出,就说明在Windows下安装成功了!


linux 安装

CentOS安装

安装之前建议安装阿里云的源 - CentOS安装阿里云源

安装

yum -y install ImageMagick ImageMagick-devel

安装完成后可以使用convert -version查看安装状态

convert -version

还可以找一张图设置一下大小

convert -resize 100x100 test1.jpg 100.jpg

下载 GraphicsMagick-1.3.26

请到我的CSDN的下载页面 http://download.csdn.net/user/chwshuang/uploads 去下载

解压

xz -d GraphicsMagick-1.3.261.tar.xz 

tar -xf GraphicsMagick-1.3.261.tar 

进入解压目录

cd GraphicsMagick-1.3.26

安装依赖

yum install -y gcc gcc-c++ make cmake autoconf automake libpng-devel libjpeg-devel libtiff-devel jasper-devel freetype-devel libtool-ltdl libtool-ltdl-devel* 

配置环境

./configure  '--prefix=/usr/local/GraphicsMagick-1.3.26' '--exec-prefix=/usr/local/GraphicsMagick-1.3.26' '--bindir=/usr/local/GraphicsMagick-1.3.26/bin' '--sbindir=/usr/local/GraphicsMagick-1.3.26/sbin' '--sysconfdir=/usr/local/GraphicsMagick-1.3.26/etc' '--datadir=/usr/local/GraphicsMagick-1.3.26/share' '--includedir=/usr/local/GraphicsMagick-1.3.26/include' '--libdir=/usr/local/GraphicsMagick-1.3.26/lib' '--libexecdir=/usr/local/GraphicsMagick-1.3.26/libexec' '--localstatedir=/usr/local/GraphicsMagick-1.3.26/var' '--sharedstatedir=/usr/local/GraphicsMagick-1.3.26/share/com' '--mandir=/usr/local/GraphicsMagick-1.3.26/share/man' '--infodir=/usr/local/GraphicsMagick-1.3.26/share/info' '--enable-libtool-verbose' '--with-included-ltdl' '--enable-shared' '--disable-static' '--with-modules' '--with-frozenpaths' '--without-perl' '--without-magick-plus-plus' '--with-quantum-depth=8' --enable-symbol-prefix

编译 & 安装

make && make install

加入环境变量

vim /etc/profile

...
export GMAGICK_HOME="/usr/local/GraphicsMagick-1.3.26"
export PATH="$GMAGICK_HOME/bin:$PATH"
LD_LIBRARY_PATH=$GMAGICK_HOME/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH 
export IM4JAVA_TOOLPATH=/usr/local/GraphicsMagick-1.3.26/bin
...


source /etc/profile

测试安装成果

gm

gm convert -list formats 
Ubuntun安装

直接使用apt-get命令安装

sudo  apt-get install imagemagick

安装完成查看一下版本验证安装是否正确

convert -version
Version: ImageMagick 6.8.9-9 Q16 x86_64 2017-03-14 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules OpenMP
Delegates: bzlib cairo djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png rsvg tiff wmf x xml zlib

安装完成后,可以参考我专栏中的其他文章:
(1)Java图片处理 - 安装ImageMagick库使用convert命令
(2)Java图片处理 - 创建工具类
(3)Java图片处理 - 复制
(4)Java图片处理 - 缩放图片
(5)Java图片处理 - gif图获取一帧图片

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/chwshuang/article/details/64921665

智能推荐

《第一行代码》(第二版)广播的问题及其解决_代码里的广播错误-程序员宅基地

文章浏览阅读2.6k次,点赞5次,收藏13次。1)5.2.1弹出两次已连接或者未连接这是因为你同时打开了流量和WiFi,他就会发出两次广播。2)5.3.1中发送自定义广播问题标准广播未能弹出消息:Intent intent=new Intent("com.example.broadcasttest.MY_BROADCAST");sendBroadcast(intent);上述已经失效了。修改:Intent intent=new Intent("com.example.broadcasttest...._代码里的广播错误

K8s 学习者绝对不能错过的最全知识图谱(内含 58个知识点链接)-程序员宅基地

文章浏览阅读249次。作者 |平名 阿里服务端开发技术专家导读:Kubernetes 作为云原生时代的“操作系统”,熟悉和使用它是每名用户的必备技能。本篇文章概述了容器服务 Kubernet..._k8知识库

TencentOS3.1安装PHP+Nginx+redis测试系统_tencentos-3.1-程序员宅基地

文章浏览阅读923次。分别是etc/pear.conf,etc/php-fpm.conf, etc/php-fpm.d/www.conf,lib/php.ini。php8安装基本一致,因为一个服务期内有2个版本,所以注意修改不同的安装目录和端口号。可以直接使用sbin下的nginx命令启动服务。完成编译安装需要gcc支持,如果没有,使用如下命令安装。安装过程基本一致,下面是安装7.1.33的步骤。执行如下命令,检查已经安装的包和可安装的包。执行如下命令,检查已经安装的包和可安装的包。执行如下命令,检查已经安装的包和可安装的包。_tencentos-3.1

urllib.request.urlopen()基本使用_urllib.request.urlopen(url)-程序员宅基地

文章浏览阅读3.1w次,点赞21次,收藏75次。import urllib.requesturl = 'https://www.python.org'# 方式一response = urllib.request.urlopen(url)print(type(response)) # <class 'http.client.HTTPResponse'># 方式二request = urllib.request.Req..._urllib.request.urlopen(url)

如何用ChatGPT+GEE+ENVI+Python进行高光谱,多光谱成像遥感数据处理?-程序员宅基地

文章浏览阅读1.5k次,点赞12次,收藏15次。如何用ChatGPT+GEE+ENVI+Python进行高光谱,多光谱成像遥感数据处理?

RS485总线常识_rs485 差分走綫間距-程序员宅基地

文章浏览阅读1.2k次。RS485总线常识 2010-10-12 15:56:36| 分类: 知识储备 | 标签:rs485 总线 传输 差分 |字号大中小 订阅RS485总线RS485采用平衡发送和差分接收方式实现通信:发送端将串行口的TTL电平信号转换成差分信号A,B两路输出,经过线缆传输之后在接收端将差分信号还原成TTL电平信号。由于传输线通常使用双绞线,又是差分传输,所_rs485 差分走綫間距

随便推点

移植、制作uboot、Linux(一)_uboot制作-程序员宅基地

文章浏览阅读621次。u-boot、linux烧录_uboot制作

windows下安装git和gitbash安装教程_64-bit git for windows setup.-程序员宅基地

文章浏览阅读1.2w次,点赞10次,收藏44次。windos上git安装,git bash安装_64-bit git for windows setup.

环形链表(算法java)_java 实现环形链表-程序员宅基地

文章浏览阅读196次。环形链表(算法java)的两种解决方法_java 实现环形链表

docker部署Airflow(修改URL-path、更换postgres -->myslq数据库、LDAP登录)_airflow docker-程序员宅基地

文章浏览阅读5.7k次。Airflow什么是 Airflow?Airflow 的架构Airflow 解决哪些问题一、docker-compose 安装airflow(postgres)1、创建启动文件airflow-docker-compose.yml.1.1、添加挂载卷,需要修改airflow-docker-compose.yml的位置2、创建本地配置文件airflow.cfg2.1、如果想修改WEB URL地址,需要修改airflow.cfg中以下两个地方3、之后up -d直接启动即可web访问地址:二、存储数据库更换post_airflow docker

计算机毕业设计springboot高校教务管理系统532k79【附源码+数据库+部署+LW】-程序员宅基地

文章浏览阅读28次。选题背景:随着社会的发展和教育的普及,高校教务管理系统在现代高等教育中扮演着至关重要的角色。传统的手工管理方式已经无法满足高校日益增长的规模和复杂的管理需求。因此,开发一套高效、智能的教务管理系统成为了当今高校管理的迫切需求。选题意义:高校教务管理系统的开发具有重要的意义和价值。首先,它可以提高高校教务管理的效率和准确性。通过自动化处理学生选课、排课、考试安排等繁琐的事务,大大减轻了教务人员的工作负担,提高了工作效率。同时,系统可以实时更新学生信息和课程信息,减少了数据错误和冗余,保证了管理的准确性

javaint接收float_Java Integer转换double,float,int,long,string-程序员宅基地

文章浏览阅读132次。首页>基础教程>常用类>常用 Integer类Java Integer转换double,float,int,long,stringjava中Integer类可以很方便的转换成double,float,int,long,string等类型,都有固定的方法进行转换。方法double doubleValue() //以 double 类型返回该 Integer 的值。flo..._java integet接收float类型的参数

推荐文章

热门文章

相关标签