ImageMagick入门教程(免费图片格式转换)

起因是因为我不会图片转换,且发现很多图片转换都要钱,尤其是pdf转jpg,于是我就是找到了这个包,自己处理.当然包时不会导的,所以只能用它提供的命令了.

准备工作

下载imagemagick:ImageMagick – Download

我下载的这个,傻瓜式安装就行,把所有勾勾都勾上,然后要记住安装路径,然后打开系统环境变量,将bin目录加到环境变量里头.

接下来安装ghostscript,我当时解决问题的时候以为是版本出了问题,所有我就在它的历史库里面下载了一个9.5.1的版本,当然你也可以下载最新版,版本不一定会造成问题

下载64位的:Releases · ArtifexSoftware/ghostpdl-downloads · GitHub

当然你也可以在官网下:Ghostscript : Downloads 

下载for windows64位的就行了

安装完成后将安装位置的bin目录放入环境变量.

输入命令检查两个是否成功安装

magick --version//检查imagemagick是否成功安装
gswin64c --version//检查gs是否成功安装

如果两个都没有问题就可以愉快的进行图片转换了

最简单的把pdf转换成jpg

magick -density 300 -quality 100 "E:\develop\a.pdf" -flatten "E:\develop\o.jpg"

-density表示分辨率,quality表示质量指数,前一个字符串表示被转换图片,后一个表示转换后的图片,这个-flatten是关键,因为pdf是由很多个图层组成的,用过极光pdf的都知道,点击图层修改就叫你付费,点击会显示图层,所以-flatten是将所有图层合并为一个单层,否则你就会的到一个很奇怪的图片,比如发票白色底变成黑色底,而且字都消失了.

再就是其它图片转变为pdf

magick -density 300 -quality 100 "E:\develop\q.png" "E:\develop\g.pdf"

上述转换有几个弊端,第一个pdf是多图层的,转换成png,jpg就必须要加-flatten,想要再把jpg,png转成pdf,这时得到的一定是单图层的,这是不可避免的.其它转换软件一定也是这样的,所以如果你想保留图层,就备份一张pdf吧. 

其它图片的相互转换起始非常简单

magick -density 300 -quality 100 "E:\develop\a.格式一" "E:\develop\o.格式二"

因该来说大部分的转换都是支持的,我没仔细研究

接下来讲讲gif与jpg之间的转换

magick -density 300 -quality 100 a.gif -coalesce output_%03d.jpg

-coalesce表示将gif分解成多个jpg,%03d表示output带三位数编号,加不加都无所谓

合成gif

magick -delay 0 -loop 0 E:\develop\en\*.jpg E:\develop\en\output.gif

-delay 0表示能设置的最小延迟,-loop 0表示无限循环,1表示只循环一次,然后*.jpg表示en/下的所有图片.

如果你原本的图片延迟很小的话再次合成可能会变慢. 

旋转90度

magick -density 300 -quality 100 input.jpg -rotate 90 output.jpg

建议不要60,30度这样转,转完你就会发现图片坏掉了.

补充几个命令

magick convert -density 300 input.pdf -background white -alpha remove +adjoin "output_%d.jpg"以图层形式导出
gswin64c -dNOPAUSE -sDEVICE=jpeg -r300 -o "E:\develop\output_%03d.jpg" "E:\develop\shenbao.pdf"//将pdf以图层形式导出
magick convert "E:\develop\an\output_*.jpg" "E:\develop\output.pdf"合并

常用参数

常用参数
-density <value>: 设置输入文件的分辨率(DPI)。
-resize <geometry>: 调整图像大小。
-quality <value>: 设置输出文件的质量。
-colorspace <type>: 设置颜色空间(如 sRGB, CMYK)。
-rotate <degrees>: 旋转图像。
-crop <geometry>: 裁剪图像。
-blur <radius>x<sigma>: 模糊图像。
-sharpen <radius>x<sigma>: 锐化图像。
-contrast: 增加对比度。
-monochrome: 转换为单色图像。
-negate: 反转图像颜色。
-flip: 垂直翻转图像。
-flop: 水平翻转图像。
-border <geometry>: 添加边框。
-gravity <type>: 设置图像的重心点(如 center, north, south)。
-annotate <geometry> <text>: 在图像上添加注释文本。
-font <name>: 设置字体。
-pointsize <value>: 设置字体大小。
-fill <color>: 设置填充颜色。
-stroke <color>: 设置描边颜色。
动画相关参数
-delay <value>: 设置每帧之间的延迟时间,单位是 1/100 秒。
-loop <value>: 设置 GIF 动画的循环次数。
-coalesce: 将多帧图像展开为独立帧。
-deconstruct: 移除与前一帧相同的部分。
-dispose <method>: 设置帧的处理方法。
-page <geometry>: 设置帧的页面大小和位置。
输入/输出相关参数
-read <filename>: 读取输入文件。
-write <filename>: 写入输出文件。
-format <type>: 指定输出文件格式。
-compress <type>: 设置压缩类型(如 JPEG, PNG)。
-strip: 移除图像文件中的所有配置文件和注释。
-interlace <type>: 设置交错类型(如 none, line, plane)。
-depth <value>: 设置图像颜色深度。

示例


magick -delay 20 -loop 0 E:\develop\en\*.jpg E:\develop\en\output.gif
调整图像大小
magick input.jpg -resize 800x600 output.jpg
旋转图像
magick input.jpg -rotate 90 output.jpg
裁剪图像
magick input.jpg -crop 200x200+50+50 output.jpg
添加文本注释
magick input.jpg -font Arial -pointsize 24 -fill black -gravity center -annotate +0+0 "Sample Text" output.jpg
高质量 PDF 转换
magick -density 300 -quality 100 input.pdf output.jpg

补充一下再java中使用这个包的坐标

<dependency>
    <groupId>org.im4java</groupId>
    <artifactId>im4java</artifactId>
    <version>1.4.0</version>
</dependency>

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值