使用Imagemagick的格式字符串和宽度/高度计算新图像大小。

4
在Web应用程序中,使用img标记的宽度和高度属性是良好的实践--这允许浏览器更快地呈现页面。
如果我有图像的宽度和高度以及ImageMagick格式字符串(即“300>”),如何获取该图像调整大小后的大小?我希望ImageMagick有一些钩子/函数可以让我访问此信息。
我只想知道新的尺寸大小,而不想调整大小或将图像加载到内存中。
本质上,我需要以下函数:
def get_image_size(width, height, format_string) # ... magic here return [new_width, new_height] end
width, height = get_image_size(300, 400, '235x235!') # would return 235 and 235
width, height = get_image_size(300, 400, '700x700>') # would return 300 and 400
width, height = get_image_size(300, 400, '100x100') # would return 75 and 100

2
显而易见的解决方案似乎是采用规范(http://imagemagick.org/script/command-line-processing.php#geometry)并自己实现该函数,看起来不太难。也许有人愿意投入一些业余时间为您提供帮助,如果您增加赏金的话。或者您可以直接前往vworker.com并询问是否有人可以以50美元或更少的价格完成此任务。 - Doc Brown
1个回答

3
使用以下ImageMagick的convert命令可以得到您想要的结果。这应该很容易地转换成您选择的任何ImageMagick语言API
$ convert -size 300x400 xc:white -resize '235x235!' info:- | cut -d\  -f3
235x235
$ convert -size 300x400 xc:white -resize '700x700>' info:- | cut -d\  -f3
300x400
$ convert -size 300x400 xc:white -resize '100x100' info:- | cut -d\  -f3
75x100

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