ImageMagick:舍弃外形,命令为王,命令处理图像利器!

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%
  • 收藏数量:11K

主要功能

源码安装:

shell 复制代码
# 安装 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安装:

ruby 复制代码
$ conda search imagemagick
$ conda create -n imagemagick imagemagick

常用命令

获取图片信息

bash 复制代码
#显示简略图片信息
identify /path/to/image.png

#显示详细图片信息
identify -verbose /path/to/image.png

缩放图片

bash 复制代码
#缩放到指定大小
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图片质量、

lua 复制代码
convert input.jpg -quality 90 output.jpg

旋转图片

lua 复制代码
convert input.jpg -rotate 90 output.jpg

镜像图片

lua 复制代码
# 水平翻转,就是我们平时说的镜像
convert input.jpg -flop output.jpg

# 垂直翻转,这个一般比较少用
convert input.jpg -flip output.jpg

裁剪图片

arduino 复制代码
#从(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 应用程序提供了强大且全面的图像处理解决方案。无论是基础的格式转换与尺寸调整,还是进阶的特效应用与矢量元素融合,它都能从容应对。

热烈欢迎各位在评论区分享交流心得与见解!!!


声明:本文为辣码甄源原创,转载请标注"辣码甄源原创首发"并附带原文链接。

相关推荐
不悔哥4 天前
开源OV-Watch:怎么做一个智能手表
单片机·开源·嵌入式
家和804 天前
Carla仿真系列:4_在 Carla 的 Tesla 上装 4 路摄像头,并创建网格为环视拼接做准备
开源
感谢地心引力4 天前
我用 Doubao-Seed-2.1-pro 做了一个深度融入 AI 功能的本地知识库软件
ai·开源·seed·markdown·豆包
alsmile4 天前
Node-RED 之外,国产规则引擎的新方案:基于标准语法,Go 先行实现
后端·开源·go
lpfasd1234 天前
2026年第38周GitHub趋势周报
python·科技·github
u1301304 天前
GitHub 热榜项目:日榜(2026-09-21)
人工智能·github
瑶山4 天前
开源编程Agent-OpenCode完整使用教程
开源·agent·ai编程·opencode
张洛闻Eren4 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
m4Rk_4 天前
【论文阅读】Agent 记忆机制(77):TSM——让记忆回到事件真正发生的时间
论文阅读·人工智能·学习·开源·github