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

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


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

相关推荐
森焱森1 小时前
60 美元玩转 Li-Fi —— 开源 OpenVLC 平台入门(附 BeagleBone Black 驱动简单解析)
c语言·单片机·算法·架构·开源
Albert_Lsk5 小时前
【2025/07/11】GitHub 今日热门项目
人工智能·开源·github·开源协议
心.c7 小时前
后台管理系统-权限管理
javascript·react.js·github
一点一木7 小时前
🚀 2025 年 06 月 GitHub 十大热门项目排行榜 🔥
前端·人工智能·github
Codebee7 小时前
注解驱动的知识中枢:MCPServer赋能AI业务的技术架构与实践
人工智能·架构·开源
时序数据说8 小时前
时序数据库的存储之道:从数据特性看技术要点
大数据·数据库·物联网·开源·时序数据库·iotdb
寻月隐君8 小时前
Rust 错误处理终极指南:从 panic! 到 Result 的优雅之道
后端·rust·github
b1ng8 小时前
新人程序员 Git 一站式指南
git·github
叶怀生9 小时前
Github创建仓库并通过VS Code推送项目
github
ai小鬼头20 小时前
AIStarter新版重磅来袭!永久订阅限时福利抢先看
人工智能·开源·github