如何使用Linux转换图像

本指南将向您展示如何使用Linux 命令行处理图像。

您将了解如何根据文件大小和比例调整图像大小。 您还将学习如何在多种文件类型之间进行转换,例如从JPGPNGGIFTIF

转换命令

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

如何调整图像的文件大小

有许多方法可以更改图像的物理文件大小。

  1. 改变宽高比(使其更小)
  2. 更改文件格式
  3. 更改压缩质量

缩小图像的大小会使文件变小。 另外,使用包含压缩格式(如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命令的手册页。