巧用linux工具之convert简介

巧用linux工具之convert简介,第1张

同样使用linux下的identify命令:

  identify ABCD.png

输出: ABCD.png PNG 339x362 339x362+0+0 8-bit DirectClass 76.2kb

说明:图片ABCD.png的格式为PNG,宽、高分别为339和362,位深度8-bit,大小76.2kb;下文主要涉及宽、高的信息。

设置高度限制为60, 宽高比例不变,使用convert的 -resize 参数

convert ABCD.png -resize x60 ABCD_t1.png

查看压缩后的图片:

 ABCD_t1.png PNG 56x60 56x60+0+0 8-bit DirectClass 4.7kb

借助convert的 -crop 参数

convert 输入.png  -crop  w x h + dx + dy   输出.png

其中: w为截取的宽;h为截取的高;dx、dy分别是开始截取的偏移位置,以左上角为原点

例如: convert ABCD.png -crop 300 x 200 + 10 + 10   ABCD_t2.png

可见,截图是自上而下、自左向右的;宽度(稍微截了一点)和高度(明显截短)(原图: 339x362 )均进行了截取,如下图:

(1)横向拼接

 convert  1.png   2.png  n.png +append   merge.png (支持多个)

例如:把ABCD.png 和 ABCD_t2.png拼接起来

(2)纵向拼接

convert  1.png  2.png  n.png -append   merge.jpg

把ABCD.png 和 ABCD_t3.png进行纵向拼接起来

convert ABCD.png -fill red -pointsize 20 -annotate +150+120  HELLO  text.png

在原图片上150x120位置上添加大小为20的红色文字:HELLO

可以在PNG、PDF、JPG、TIFF等众多格式见相互转换

例如: convert ABCD.png  ABCD.pdf

批量转换:for file in *.pngdo convert $file ${file%%.*}.jpgdone

[1] http://www.imagemagick.com.cn/

[2] http://www.imagemagick.org/script/index.php

Manjaro linux 系统下,通过 convert 将pdf 转换为图片时出现如下 the security policy 报错:

这个问题表明:Imagemagick 安全策略似乎不允许我执行pdf 转换 jpg。安装 imagemagick 之后,没有对其做过任何设置处理。

参考 stackoverflow: https://stackoverflow.com/questions/52998331/imagemagick-security-policy-pdf-blocking-conversion

从报错看是 Imagemagick 安全协议不允许 gs 运行,所以去查看 Imagemagick 的安全协议。

在 /etc/ImageMagick-7/ 文件夹下找到 policy.xml 文件。文件最后部分,发现 gs 部分未被注释,而 right=none ,是不允许的

将上述部分注释之后,成功将 pdf 转 jpg。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7298742.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-04
下一篇2023-04-04

发表评论

登录后才能评论

评论列表(0条)

    保存