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

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


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

相关推荐
小羊Yveesss5 分钟前
微信小程序年度费用全拆解:SaaS、开源与定制开发的3年成本实测对比
微信小程序·小程序·开源
X54先生(人文科技)12 分钟前
X54先生与奇点先生关于AGI和ASI发展的对话
人工智能·开源·开源协议·零知识证明
小鹏linux10 小时前
Ubuntu 22.04 部署开源免费具有精美现代web页面的Casdoor账号管理系统
linux·前端·ubuntu·开源·堡垒机
冬奇Lab11 小时前
一天一个开源项目(第108篇):Andrej Karpathy Skills - 用一个 CLAUDE.md 文件修复 LLM 编码的四个顽疾
人工智能·开源·资讯
code_pgf14 小时前
模态生成器:原理详解与推荐开源项目
人工智能·深度学习·开源
虎头金猫15 小时前
管理飞牛OS还在点点点?我用Ansible给它装了个远程遥控器
微信·开源·ansible·aigc·智能家居·开源软件·ai编程
STDD15 小时前
Soulmask《灵魂面具》 专用服务器搭建教程
运维·服务器·github
lolo大魔王16 小时前
Linux的监测程序
linux·运维·github
带娃的IT创业者19 小时前
开源之魂:Thunderbird 的生存困境与我们的数字主权
开源·邮件客户端·开源生态·非营利组织·thunderbird·数字主权