ImageMagick:驾驭命令,重塑图像,挥洒自如的图形处理大师!- 精选真开源,释放新价值。
概览
在用户端,我们可借助如 PhotoShop 等图形用户界面(GUI)软件,对静态图片或动态 GIF 进行精细化编辑与修饰,其直观的操作界面赋予了用户随心所欲塑造视觉艺术的可能。然而,当这些图像处理需求移至服务器端,尤其在复杂的 WEB 应用程序中,涉及到图片格式转换、尺寸调整、裁剪、翻转、扭曲、PDF解析等诸多任务时,GUI 软件便显得捉襟见肘,难以胜任云端环境下的自动化与批量处理要求。
此时,ImageMagick 作为一款强大的命令行工具,以其专业而高效的特性,成为服务器端图像处理的理想之选。它不仅涵盖了从创建到编辑,再到合成与转换的全方位图像操作能力,而且支持的格式种类逾越两百大关,广泛吸纳了诸如 PNG、JPEG、GIF、HEIC、TIFF、DPX、EXR、WebP、Postscript、PDF、SVG 等主流与专业格式,展现出无与伦比的兼容性与包容力。
ImageMagick 的功能深度与广度同样令人瞩目。它不仅能精准地调整图像的各个维度,轻松实现翻转、镜像、旋转、扭曲等空间变换,以毫厘不差的精度进行修剪与裁切;还能细腻地调控色彩空间,无论是明暗对比的微调,还是色调饱和度的重塑,皆能游刃有余。
此外,ImageMagick 还能将文本、线条、多边形、椭圆乃至贝塞尔曲线等矢量元素优雅地融入图像之中,这一特性使其在生成动态图表、制作数据可视化报告,乃至构建交互式网页元素等方面大放异彩。
截至发稿概况如下:
语言 | 占比 |
---|---|
C | 46.8% |
HTML | 32.8% |
C++ | 12.6% |
Makefile | 3.5% |
XS | 1.3% |
Shell | 1.2% |
Other | 1.8% |
- 收藏数量:K
主要功能
源码安装:
# 安装 ImageMagick
$ wget https://www.imagemagick.org/download/ImageMagick.tar.gz
$ tar zvxf ImageMagick.tar.gz
$ cd ImageMagick-7.0.10-23
$ ./configure --prefix=/data/software/imagemagick-7.0.10-23
$ make
$ make install
conda安装:
$ conda search imagemagick
$ conda create -n imagemagick imagemagick
常用命令
获取图片信息
#显示简略图片信息
identify /path/to/image.png
#显示详细图片信息
identify -verbose /path/to/image.png
缩放图片
#缩放到指定大小
convert /path/to/source.png -resize 200x200 /path/to/target.png
#按百分比缩放
convert /path/to/source.png -resize 50% /path/to/target.png
#多次缩放(本例是缩小再放大,效果就是变模糊了,可用于做马赛克)
convert /path/to/source.png -resize 50% -resize 200% /path/to/target.png
#只缩放宽,高按比例(省略高不写即可,但“x”号还是要写的)
convert /path/to/source.png -resize 200x /path/to/target.png
#只缩放高,宽按比例(省略宽不写即可,但“x”号还是要写的)
convert /path/to/source.png -resize x200 /path/to/target.png
#批量把iPhone拍的照片缩小成指定尺寸
declare -i j=0;for i in *.JPG; do convert $i -resize 1008x ${i:0:$[${#i}-4]}_resized.jpg;j=j+1;echo $j"."$i" convert succeed"!; done
设置jpg图片质量、
convert input.jpg -quality 90 output.jpg
旋转图片
convert input.jpg -rotate 90 output.jpg
镜像图片
# 水平翻转,就是我们平时说的镜像
convert input.jpg -flop output.jpg
# 垂直翻转,这个一般比较少用
convert input.jpg -flip output.jpg
裁剪图片
#从(50,50)坐标开始,裁剪一个100⨉100大小的图片(乘号用小写英文字母xyz的x就可以)
convert image.png -crop 100x100+50+50 crop.png
#不指定位置,则会把大图片分割成100⨉100的小图片,生成crop-0.png, crop-1.png, ……
convert image.png -crop 100x100 crop.png
遐想
ImageMagick 以其深厚的专业功底、丰富多样的功能集、广泛兼容的格式支持以及灵活便捷的命令行操作,为服务器端的 WEB 应用程序提供了强大且全面的图像处理解决方案。无论是基础的格式转换与尺寸调整,还是进阶的特效应用与矢量元素融合,它都能从容应对。
热烈欢迎各位在评论区分享交流心得与见解!!!
声明:本文为辣码甄源原创,转载请标注"辣码甄源原创首发__"__并附带原文链接。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。