linux – 批量裁剪并调整图像大小以创建缩略图
发布时间:2020-12-14 01:11:17 所属栏目:Linux 来源:网络整理
导读:我有一大堆jpg图像,我想创建缩略图.图像都具有不同的大小和分辨率,但我希望所有缩略图都具有标准尺寸,例如120x80px.但是,我不想拉伸图像.所以我想做以下事情: 将图像裁剪为1.5:1的宽高比.使裁剪区域居中(即左右切割等量,或上下切割 将图像大小调整为120 x
我有一大堆jpg图像,我想创建缩略图.图像都具有不同的大小和分辨率,但我希望所有缩略图都具有标准尺寸,例如120x80px.但是,我不想拉伸图像.所以我想做以下事情:
>将图像裁剪为1.5:1的宽高比.使裁剪区域居中(即左右切割等量,或上下切割 是否有linux命令可以这样做?我查看了imagemick转换,但我无法弄清楚如何进行居中裁剪.您似乎必须手动指定每个图像的裁剪区域? 解决方法
这适用于大于120×80的图像.没有在较小的上测试,但你应该能够调整它.
#! /bin/bash for img in p*.jpg ; do identify=$(identify "$img") [[ $identify =~ ([0-9]+)x([0-9]+) ]] || { echo Cannot get size >&2 ; continue ; } width=${BASH_REMATCH[1]} height=${BASH_REMATCH[2]} let good_width=height+height/2 if (( width < good_width )) ; then # crop horizontally let new_height=width*2/3 new_width=$width let top='(height-new_height)/2' left=0 elif (( width != good_width )) ; then # crop vertically let new_width=height*3/2 new_height=$height let left='(width-new_width)/2' top=0 fi convert "$img" -crop "$new_width"x$new_height+$left+$top -resize 120x80 thumb-"$img" done (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |