使用imagemagick';s格式字符串和宽度/高度

使用imagemagick';s格式字符串和宽度/高度,imagemagick,image-scaling,Imagemagick,Image Scaling,在web应用程序中,使用img标记的宽度和高度属性是一种很好的做法,这允许浏览器更快地呈现页面 如果我有图像的宽度和高度,以及imagemagick格式字符串(即“300>”),如何获得该图像的大小?我希望imagemagick有一些钩子/函数可以让我访问这些信息 我不想调整图像大小或将图像加载到内存中,我只想知道图像的尺寸。 基本上,我需要以下函数: def get_image_size(width, height, format_string) # ... magic here re

在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 def get_图像大小(宽度、高度、格式\u字符串) # ... 这里有魔力 返回[新宽度,新高度] 结束 宽度、高度=获取图像大小(300400,'235x235!') #将返回235和235 宽度、高度=获取图像大小(300400,'700x700>) #将返回300和400 宽度,高度=获取图像大小(300400,'100x100') #将返回75和100
使用以下ImageMagick
convert
命令提供所需内容。这应该很容易转化为你选择的任何一个

$ 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

显而易见的解决方案似乎是采用spec()并自行实现该函数,看起来并不难。如果你增加赏金,也许有人愿意为你投入几个小时的业余时间。或者你直接去vworker.com,让别人花50美元或更少的钱来做这件事。