本指南将向您展示如何使用Linux 命令行处理图像。
您将了解如何根据文件大小和比例调整图像大小。 您还将学习如何在多种文件类型之间进行转换,例如从JPG到PNG或GIF到TIF 。
转换命令
convert命令用于转换图像。 格式如下:
转换[输入选项]输入文件[输出选项]输出文件。
如何调整图像大小
如果您打算在网页上添加图片,并且希望图片具有特定尺寸,那么您可以使用一些CSS来调整图片的大小。
实际上,尽可能将图片作为正确尺寸上传并将其插入到页面中。
这当然只是一个例子,您可能想要调整图像大小 。
要调整图像大小,请使用以下命令
convert imagename.jpg -resize dimensions newimagename.jpg
例如,要将图像转换为800x600,您可以使用以下命令:
convert imagename.jpg -resize 800x600 newimagename.jpg
如果通过转换为指定的尺寸,高宽比将会变差,图像将被调整为最接近的比例。
要强制转换为确切的大小,请使用以下命令:
convert imagename.jpg -resize 800x600! newimagename.jpg
您不必将高度和宽度指定为resize命令的一部分。
例如,如果您希望宽度为800,并且您不关心高度,则可以使用以下命令:
convert imagename.jpg -resize 800 newimagename.jpg
要将图像调整为指定高度,请使用以下命令:
转换imagename,jpg -resize x600 newimagename.jpg
如何从一种图像格式转换为另一种
如果你有一个JPG文件,并且你想把它转换成PNG格式,那么你可以使用下面的命令:
转换image.jpg image.png
您可以组合许多不同的文件格式。 例如
转换image.png image.gif
转换image.jpg image.bmp
转换image.gif image.tif
如何调整图像的文件大小
有许多方法可以更改图像的物理文件大小。
- 改变宽高比(使其更小)
- 更改文件格式
- 更改压缩质量
缩小图像的大小会使文件变小。 另外,使用包含压缩格式(如JPG)的文件格式可以减少物理文件的大小。
最后调整质量将使物理文件的大小更小。
前两节介绍了如何调整大小和文件类型。 要压缩图像,请尝试以下命令:
convert imagename.jpg - quality 90 newimage.jpg
质量指定为百分比。 输出文件越小,百分比越小,但最终的输出质量显然不是那么好。
如何旋转图像
如果您以纵向拍摄了照片,但您希望将其作为横向图像,则可以使用以下命令旋转图像:
convert imagename.jpg -rotate 90 newimage.jpg
您可以指定任何角度进行旋转。
例如,试试这个:
convert imagename.jpg -rotate 45 newimage.jpg
转换命令行选项
有几十个命令行选项可用于convert命令,如下所示:
选项按命令行顺序处理。 您在命令行上指定的任何选项对于后面的一组图像保持有效,直到该组由任何选项或-noop的出现终止。 一些选项仅影响图像的解码,而其他选项仅影响编码。 后者可以出现在最后一组输入图像之后。
有关每个选项的更详细说明,请参阅ImageMagick 。
-毗 | 将图像合并到单个多图像文件中 |
-affine | 绘制变换矩阵 |
-antialias | 消除像素混叠 |
-附加 | 追加一组图像 |
-平均 | 平均一组图像 |
-背景 | 背景颜色 |
-blur x | 用高斯算子模糊图像 |
- 边界 x | 用颜色边框围绕图像 |
-边框颜色 | 边框颜色 |
-框 | 设置注记边界框的颜色 |
-cache | 兆像素的内存可用于像素缓存 |
-渠道 | 频道的类型 |
-木炭 | 模拟木炭图纸 |
-chop x {+ - } {+ - } {%} | 从图像内部删除像素 |
-夹 | 应用裁剪路径,如果有的话 |
-合并 | 合并一系列图像 |
-colorize | 用笔的颜色着色图像 |
-colors | 图像中颜色的首选数量 |
-色彩空间 | 色彩空间的类型 |
-评论 | 用注释标注图像 |
-撰写 | 图像组成的类型 |
-压缩 | 图像压缩的类型 |
-对比 | 增强或减少图像对比度 |
-crop x {+ - } {+ - } {%} | 裁剪图像的首选大小和位置 |
-周期 | 以数量替代图像颜色映射 |
-debug | 启用调试打印输出 |
-deconstruct | 将图像序列分解为组成部分 |
- 延迟 <1/100秒 | 暂停后显示下一张图像 |
密度 x | 图像像素的垂直和水平分辨率 |
-深度 | 图像的深度 |
-despeckle | 减少图像中的斑点 |
-显示 | 指定要联系的X服务器 |
-dispose | GIF处理方法 |
-dither | 将Floyd / Steinberg误差扩散应用于图像 |
-画 | 使用一个或多个图形基元对图像进行注释 |
-边缘 | 检测图像中的边缘 |
-emboss | 压印图像 |
-encoding | 指定字体编码 |
-endian | 指定输出图像的字节顺序(MSB或LSB) |
-提高 | 应用数字滤镜来增强嘈杂的图像 |
-equalize | 对图像执行直方图均衡 |
-填 | 填充图形图元时使用的颜色 |
-过滤 | 调整图像大小时使用此类过滤器 |
-flatten | 压扁一系列图像 |
-flip | 创建一个“镜像” |
-flop | 创建一个“镜像” |
-font | 使用文本注释图像时使用此字体 |
-frame x ++ | 用装饰性边框围绕图像 |
-fuzz {%} | 这个距离内的颜色被认为是相等的 |
-gamma | 伽马校正水平 |
-gaussian x | 用高斯算子模糊图像 |
-geometry x {+ - } {+ - } {%} {@} {!} {<} {>} | 图像窗口的首选大小和位置。 |
-重力 | 当注释图像时,方向原始倾向于。 |
-帮帮我 | 打印使用说明 |
-implode | 内爆关于中心的图像像素 |
-意图 | 在管理图像颜色时使用这种类型的渲染意图 |
-交错 | 交错方案的类型 |
-标签 | 为图像分配一个标签 |
-水平 | 调整图像对比度的水平 |
-list | 列表的类型 |
-循环 | 将Netscape循环扩展添加到您的GIF动画中 |
-地图 | 从这个图像中选择一组特定的颜色 |
-面具 | 指定剪贴蒙版 |
-matte | 如果图像有一个,则存储遮罩通道 |
-median | 对图像应用中值滤镜 |
-调制 | 改变图像的亮度,饱和度和色调 |
-单色 | 将图像转换为黑白图像 |
-变形 | 变形图像序列 |
-镶嵌 | 从图像序列创建一个马赛克 |
-否定 | 用互补色替换每个像素 |
-噪声 | 添加或减少图像中的噪点 |
-noop | NOOP(无选项) |
-normalize | 转换图像以跨越全部颜色值 |
-不透明 | 将此颜色更改为图像中的笔颜色 |
-page x {+ - } {+ - } {%} {!} {<} {>} | 图像画布的大小和位置 |
-涂料 | 模拟油画 |
-钢笔 | 指定绘图操作的笔颜色 |
性平 | 有效地确定图像特征 |
-pointsize | Postscript,OPTION1或TrueType字体的分值 |
-预习 | 图像预览类型 |
-处理 | 处理一系列图像 |
-profile | 添加ICM,IPTC或通用配置文件到图像 |
-质量 | JPEG / MIFF / PNG压缩级别 |
- 升级 x | 使图像边缘变亮或变暗 |
- 区域x {+ - } {+ - } | 将选项应用于图像的一部分 |
-resize x {%} {@} {!} {<} {>} | 调整图像大小 |
-roll {+ - } {+ - } | 垂直或水平滚动图像 |
-rotate {<} {>} | 将Paeth图像旋转应用于图像 |
-样品 | 使用像素采样缩放图像 |
-sampling_factor x | JPEG或MPEG-2编码器和YUV解码器/编码器使用的采样因子。 |
-规模 | 缩放图像。 |
-现场 | 设置场景编号 |
-种子 | 伪随机数发生器种子值 |
- 段 x | 分割图像 |
-shade x | 使用远处的光源遮挡图像 |
-sharpen x | 锐化图像 |
- x | 刮去图像边缘的像素 |
- 剪切 x | 沿X或Y轴剪切图像 |
-size x {+ offset} | 图像的宽度和高度 |
-solarize | 否定高于阈值水平的所有像素 |
-传播 | 以随机数量移动图像像素 |
-行程 | 抚摸图形图元时使用的颜色 |
-strokewidth | 设置笔画宽度 |
-漩涡 | 围绕中心旋转图像像素 |
-质地 | 贴图到图像背景上的纹理名称 |
-阈 | 阈值的形象 |
-瓦 | 填充图形图元时的平铺图像 |
-转变 | 转换图像 |
-透明 | 在图像中使该颜色透明 |
-treedepth | 用于颜色缩减算法的树深度 |
-修剪 | 修剪图像 |
-类型 | 图像类型 |
-单位 | 图像分辨率的类型 |
-unsharp x | 使用不清晰的蒙版运算符锐化图像 |
-use_pixmap | 使用像素图 |
-verbose | 打印有关图像的详细信息 |
-视图 | FlashPix查看参数 |
-wave x | 沿着正弦波改变图像 |
-写 | 写一个图像序列[ convert,composite ] |
有关更多信息,请阅读convert命令的手册页。