使用ImageMagick根据宽高比缩略图图片

4

我已经对此进行了一些研究,但没有找到合适的答案,想知道是否有办法实现:

基本上,在将大文件(Adobe CS文件、图像文件、视频等)上传到网站后,我需要为其创建缩略图。我已经完成了这个部分,并且使用一些多线程技术使用户在上传完成后不必等待,效果非常好。

目前,我正在将所有缩略图调整为250x250的正方形大小。这是IM命令:

convert -quiet examplefile.extn 
-thumbnail x250 
-resize 250x< 
-background white 
-gravity center 
-crop 250x250+0+0 
+repage 
-unsharp 0x.5 
-quality 80 
-flatten 
thumbnail.jpg

在视频和psd文件中看起来很棒 ;) 好吧,事实证明一些网站要求已经改变了(你不喜欢这种情况吗?)现在我需要根据他们的宽高比调整图像大小。条件如下:

如果高度/宽度 > 1,则将缩略图宽度设置为250,并具有高度自由度(最大500)。 如果高度/宽度 <= 1,则将缩略图高度设置为250,并具有宽度自由度(最大500)。

这是否可能?任何指针、建议或替代方案都将非常感激,因为我继续自己研究...

1个回答

3

这里提供了调整大小的选项:http://www.imagemagick.org/script/command-line-processing.php#geometry

convert -quiet examplefile.extn -thumbnail 250x250 +repage -unsharp 0x.5 -quality 80 thumbnail.jpg

你的代码似乎有点过于复杂 - 尝试使用上面的代码,它将保持纵横比,并且最大尺寸将为250px。

如果你想做更复杂的事情,我建议在IM之外完成,并将宽度和高度作为变量传递给命令。

-thumbnail {$width}x{$height}

我有点想避免另一个IO操作,但看起来我不得不在IM之外计算大小。同时感谢您缩短IM命令的建议 =) - Sebbo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接