让我描述一下我的问题:
我有一个网站,我会在上面发布赞助商公司的徽标。一旦我收到徽标(或者我在谷歌上搜索过),它们通常都是矩形大小 - 宽度和高度不相等。
在我的网站上,一旦您上传徽标图像,您就可以将其裁剪为正方形。
对于矩形徽标,我通常在 GIMP 中打开它们,将画布大小增加到正方形,创建一个背景颜色的新图层,最后将其导出为 jpg 或 png 供网站使用。相当耗时。
我正在寻找一种方法来希望仅使用终端命令即可做到这一点。
例子:
请看下面的 Safaricom(肯尼亚电信公司)徽标。它的尺寸为 650px x 380px - 我怎样才能将其设置为 650px x 650px,然后通过命令行将其水平居中?
答案1
您可以使用以下命令,该命令需要imagemagick
(sudo apt-get install imagemagick
):
pic="ty338.png"; convert $pic -trim $pic ; width=$(identify -format "%w" $pic); height=$(identify -format "%h" $pic); new_dim=$((width > height ? width+10 : height+10)); convert $pic -gravity center -extent "${new_dim}x${new_dim}" $pic
- 第一个
convert
命令修剪图片以删除边框 - 然后我用它
identify
来找到最大尺寸(宽度或高度) - 我添加了一个 10px 边框(您可以随意更改或删除它)
convert
最后,使用最后一个命令-gravity
将徽标置于方形画布的中心。
您甚至可以将此命令粘贴到您的 bash 函数中$HOME/.bashrc
:
squarize()
{
pic=$1
convert $pic -trim $pic
width=$(identify -format "%w" $pic)
height=$(identify -format "%h" $pic)
new_dim=$((width > height ? width+10 : height+10))
convert $pic -gravity center -extent "${new_dim}x${new_dim}" $pic
}