安装:
一、什么是Imagemagick?
ImageMagick是一款免费开源的图片编辑软件。既可以通过命令行使用,也可以通过C/C++、Perl、Java、PHP、Python或Ruby调用库编程来完成。ImageMagic的主要精力集中在性能,减少bug以及提供稳定的API和ABI上。pdf转图片,pdf转jpg
二、下载和安装
这里以Windows为例
官方下载地址:☞图像魔术 – 下载 (imagemagick.org)
使用16-bit在处理图片时比8-bit慢15%至50%,内存也为2倍。比如处理一张1024×768像素的图片8-bit要使用3.6M内存,16-bit要使用7.2M内存。
这里我们选择下载官方推荐的文件,也就是第一个:ImageMagick-7.0.8-12-Q16-x64-dll.exe
这个7.0版本和6点几版本有些不同,系统环境变量都是自动配置好的。
再安装文件夹 地址栏最前面输入 cmd 回车即可直接进入文件夹命令框
使用 magick –version 查看是否安装成功:
三、使用
如果很多子命令不能直接使用,则可以把他们当做magick的子命令使用,如:
identify bbb.png
magick identify bbb.png
问题一:
关于ImageMagick出现无效参数(invalid parameter)的解决方法:
Windows 命令行 运行”convert logo.jpg f:\parseWord\tmp\logo.png” 时显示 “无效参数(Invalid Parameter)”
此时你运行的convert是windows的分区自带的类型转换程序
正确的命令应该是:“magick convert logo.jpg f:\parseWord\tmp\logo.png”
加上 magick 即可。
这时候基本就可以用了。一些常用图片处理命令我放最后。
问题二:imagemagick convert pdf转图片时遇到找不到gswin64c.exe的问题(多装一个octave解决)
imagemagick是强大且免费的命令行图片批量处理工具(尤其是pdf图片互相转换),常用的是它的经典convert命令(imagemagick.org->download
需选legacy才可用convert
然后拿一个pdf文件试试手
convert j-.pdf j+%03d.jpg
报错说找不到gswin64c.exe
报错找不到指定文件
FailedToExecuteCommand “gswin64c.exe”
原来是gswin64c.exe(ghostscript)没有附带安装带来的问题,那去找到gs.exe(ghostscript)替代它也可以解决问题
然后去☞ mirrors.tuna.tsinghua.edu.cn/gnu/octave/windows
下载octave
点最近的zip文件下载,里面有附带的gs.exe,但是需要先解压整个octave,找到octave-x.x.x-w64/mingw64/bin/gs.exe
它就是gswin64c.exe
解压之后原地复制gs.exe
把那个啥gs副本.exe重命名为gswin64c.exe
重命名
然后点开系统属性环境变量添加这个目录到path里面
安装目录为例,需具体修改
好,继续转pdf为图片(记得加上参数-density 600 -quality 10 以调整图片的清晰度)
convert j-.pdf j+%03d.jpg
命令正常运行
问题三:由于找不到libfontconfig-1.dll,无法继续执行操作。
直接按提示百度相应的dll下载,放到安装文件目录中即可
常用命令
1、转换格式
magick test.jpg test.png
表示把test.jpg这个图片另存一份为test.png,同时修改了图片名称和格式
2、合成gif
magick a.jpg b.jpg c.jpg test.gif
magick *.jpg images.gif
将指定的图片合成一个gif(好像以第一张图的大小为准)
3、调整图片大小
按比例改变
magick b.png -resize 200% b1.png
magick convert b.png -resize 200% b1.png
magick convert -resize 200% b.png b1.png
图片宽扩展为原来的2倍,高缩小为原来的一半
magick convert b.png -resize 200x50% b7.png
magick convert b.png -resize 200%x50% b8.png
宽调整为100,高按原来图片宽高比例跟着调整
convert -resize 100 b.png b15.png
高调整为200,宽按原来图片宽高比例跟着调整
convert -resize x200 b.png b16.png
4、移除图片内嵌的所有配置文件
magick convert -strip 1.jpg
5、裁剪图片
crop参数可以把一副图像分成若干块大小一样的图片
magick img1.jpg -crop 500x500 dest.jpg
例如,原图片尺寸为1920×1200,所以可以分割出12块图片,注意如果尺寸不是目标图片的整数倍,那么右边缘和下边缘的一部分图片就用实际尺寸
在原始图像上裁剪一张指定尺寸的小图
magick img1.jpg -crop 600x450+300+600 dest.jpg
600×450是宽乘高,+300+600是横纵坐标
6、图片取反
magick convert a.jpg -negate canny.jpg
7、压缩图片
将图片质量降为原来的10%(即压缩掉了90%),取值范围1 ( 最低的图像质量和最高压缩率) 到100 ( 最高的图像质量和最低压缩率),默认值根据输出格式有75、92、100,选项适用于JPEG / MIFF / PNG.
magick convert -quality 80 1.jpg 2.jpg
实例:生成缩略图:
-resize,定义输出的缩略图尺寸;-quality 70,降低缩略图的质量为70%;-strip:让缩略图移除图片内嵌的所有配置文件,注释等信息,以减小文件大小。
magick convert -resize 100x200 -quality 70 -strip 1.jpg 2.jpg
8、给图片加边框
设置边框颜色为蓝色(也可以用rgb(0,0,255)或者rgb(0%,0%,100%)代替),宽的边框和高的边框分别为宽的5%、高的5%,也就是说,图片的高和宽都增大了10%
magick 1.jpg -bordercolor blue -border 5% 2.jpg
9、滤镜
magick convert monochrome .jpg -monochrome monochrome_example.jpg
magick convert charcoal .jpg -charcoal 1.2 charcoal _example.jpg
-monochrome没有相关的配置选项;但是-charcoal需要设置一个相关因子,1左右能实现类似炭笔绘画的效果。
magick convert a.jpg -edge 3 edge.jpg
magick convert a.jpg -colors 2 color.jpg
减少为2种颜色,这些选项也可以一起使用。
10、边缘检测
magick convert a.jpg -canny 1 canny.jpg
使用canny算法,带粗粒度参数。
图像取反的话就很好看了:
magick convert a.jpg -canny 1 -negate canny.jpg
11、使用ImageMagick将PDF转为图片
请确保你已经正确安装了ImageMagick并且它在你的系统PATH中,这样你才能在命令行中使用convert
命令。
生成单个图片
magick convert -density 220 -quality 80 3.pdf -append 3.jpeg
生成多张图片
magick convert -quality 100 -background white -alpha remove C:\Users\admin\Desktop\32.pdf C:\Users\admin\Desktop\output_%03d.jpg
这个命令的含义是:
magick convert
是 ImageMagick 的一个命令,用于转换图像格式或进行其他图像处理。-quality 100
指定输出图像的质量为 100%(注意:在某些版本的 ImageMagick 中,-quality 参数可能无效,改为使用 -quality-factor 参数,如:-quality-factor 1
)。-background white
指定背景色为白色。-alpha remove
移除输入图像的 alpha 通道(透明区域)。C:\Users\admin\Desktop\32.pdf
是您的输入 PDF 文件路径。C:\Users\admin\Desktop\output_%03d.jpg
是输出 JPG 文件的路径和名称模板。%03d
会被替换为一个三位数的数字,以确保输出文件名的唯一性。
请注意,命令中的文件路径应替换为您实际的文件路径。另外,由于 ImageMagick 的版本和配置可能存在差异,上述命令可能需要根据您的具体情况进行调整。如果您遇到问题,请提供更多错误信息和相关上下文,以便我能够更准确地帮助您解决问题。