问题 在mac上使用sips命令修剪图像的底部


我想为osx编写一个批处理命令脚本,它将裁掉图像的底部。这可能是使用啜饮?

我有一堆图像640 x 1136,我想要裁剪它们(不缩放或调整大小)到640 x 960.当裁剪图像时,我希望图像的底部被移除,顶部保持不变。基本上,我只想将图像的底部切掉。

我有这个,但它从图像的顶部和底部裁剪。

sips --cropToHeightWidth 640 960

2624
2017-11-08 20:10


起源

对于其他任何工作的人......麻烦的SIPS程序也会同样填充顶部和底部,所以你不能先填充顶部然后从顶部和底部裁剪以获得你想要的东西:-) - Mark Setchell
我相信这是不可能的,啜饮有点太简单了。我会使用从Homebrew安装的ImageMagick或GraphicsMagick,即使它增加了额外的依赖。无论如何,为任何能找到解决方案的人提供道具。 :) - juhovh
啜饮是一个奇怪的程序 - 浪费了一个小时,并试图欺骗它来裁剪图像的非中心部分,你,这是不可能的。 - Sergey Grinev


答案:


看起来不可能。多谢你们。


6
2017-11-20 00:57





我只花了2年时间才想到这一点......但你可以使用GD库来实现它,它实际上包含在标准的内置OSX PHP解释器中(所以不需要安装任何软件包):

#!/usr/bin/php -f

<?php
   $im = imagecreatefromjpeg("image.jpg");
   $crop_area = array('x'=>0,'y'=> 0,'width'=>640,'height'=>960);
   $result = imagecrop($im, $crop_area);
   imagejpeg($result,"result.jpg");
?>

要从终端进行呼叫,您可以将其保存在名为say的文件中 chopper 然后使文件可执行像这样:

chmod +x chopper

然后你可以输入以下命令来运行它:

./chopper

或者在Finder中双击它。

我想你会想要打开文件名的参数,保存文件名和尺寸,但你明白了。


2
2018-02-01 10:55



凉。你怎么从终端打电话给这个? - Tom Krones
正如答案所示:类型 ./chopper (并按回车) - Lars Blumberg


您也可以使用翻转模式两次。

sips --flip vertical image.jpg
sips --cropToHeightWidth 640 960
sips --flip vertical image.jpg

这对我来说已经做到了。


1
2018-04-03 16:12



sips --cropToHeightWidth 15000 15000 img15000sq.png为我工作 - anjchang