神奇手imagemagick学习笔记

Posted 500年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了神奇手imagemagick学习笔记相关的知识,希望对你有一定的参考价值。

神奇手imagemagick学习笔记

ubuntu安装

apt-get update

apt-get install imagemagick

# imagemagick 6 查看安装是否成功
convert --version

# imagemagick 7
magick替代了convert

功能列表

1、获取图片信息

identify demo.jpg
# 输出 图片格式、分辨率、大小、色彩空间等。

2、转换图片格式

magick demo.jpg demo.png

3、调整图片尺寸

#  图片尺寸宽高都放大2倍
magick demo.png -resize '200%' demo-new.png

# 图片尺寸宽放大2倍,高缩小到1/2
magick demo.png -resize '200x50%' demo-new.png

# 图片缩放到-可以放进100x200的巨型内,原始宽高比例不变
magick demo.png -resize '100x200' demo-new.png

# 图片缩放到-直到一个边和100x200的巨型相同,原始宽高比例不变
magick demo.png -resize '100x200^' demo-new.png

# 不顾原图比例,直接拉伸为100*200
magick demo.png -resize '100x200!' demo-new.png

# 宽度调整为100,高按照比例跟着调整
magick demo.png -resize '100' demo-new.png

# 高度度调整为100,宽按照比例跟着调整
magick demo.png -resize 'x200' demo-new.png

# 宽>150或高>100的图片,缩小成150x?或x100(按比例取最大值),小于的图片不做处理
magick demo.png -resize '150x100>' demo-new.png

# 宽高均小于100x200的图片,才增大该吃吃(按比例取最小值),大于的图片不做处理
magick demo.png -resize '100x200<' demo-new.png

# 宽若大于200,按比例调整到200
magick demo.png -resize '200>' demo-new.png

# 高若大于200,按比例调整到200
magick demo.png -resize 'x200>' demo-new.png

# 按比例调整图片至面积最靠近1000
magick demo.png -resize '10000@' demo-new.png

4、降低图片质量

# 图片质量降低为原来的75%,
convert demo.jpg -quality 75 demo-new.jpg

# 生产缩略图,质量缩写到70%,-strip:缩略图内移除图片参数信息,降低占用空间
convert demo.jpg -resize 150x100 -quality 75 -strip demo-new.jpg

5、加边框

magick dome.jpg -bordercolor 'rgb(238,18,137)' -border 10 demo-new.jpg

# 增加蓝色边框:(0,0,255) 或 (0,0,100%)
magick dome.jpg -bordercolor 'rgb(0,0,100%)' -border 10 demo-new.jpg

# 加边框,竖40,横20
magick dome.jpg -bordercolor 'rgb(0,255,0)' -border 40x20 demo-new.jpg

https://www.bilibili.com/video/BV1ot411X7aT/?spm_id_from=333.788.recommend_more_video.1

6、在图片上写字
7、生成条形码
8、加文字水印
9、使用通配符批量处理图片
10、生成GIF动态图片降低图片质量
11、生成拼图
12、PDF与图片相互转换
13、利用字体画出有趣的符号
14、回执验证码

以上是关于神奇手imagemagick学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

PHP必用代码片段

你的手泄露了你的性别与年龄(内附CNTK与PyTorch 代码)

Python学习手冊笔记

神箭手爬虫学习笔记

laravel 学习笔记 —— 神奇的服务容器

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段