get_serving_url目前不支持独立调整图像宽度/高度,而只允许使用'size'参数调整方形大小。
http://code.google.com/p/googleappengine/issues/detail?id=4200
有人可以建议一个有效的解决方法吗?看起来像使用images.resize()是可行的方法,但是不需要在blobstore中重新存储转换后的图像来获取get_serving_url的blob_key吗?
希望有一个足够高效的解决方案,可以避免使用blobstore的速度优势!
谢谢大家。
答案 0 :(得分:4)
您需要做的是计算原始图片的比例以将其调整为所需的宽度和高度,之后您应该将计算出的尺寸值传递给服务网址并获得所需内容。
resolution = '1200x900'
blob_width, blob_height = resolution.split('x')
blob_width = float(blob_width)
blob_height = float(blob_height)
width = float(width)
height = float(height)
blob_prop = blob_width / blob_height
req_box_prop = width / height
if req_box_prop == blob_prop:
scale_factor = blob_width / width
serving_img_height = blob_width / scale_factor
serving_img_width = blob_height / scale_factor
if req_box_prop < blob_prop:
serving_img_width = width
serving_img_height = width / blob_prop
else:
serving_img_width = height * blob_prop
serving_img_height = height
serving_img_width = int(round(serving_img_width, 0))
serving_img_height = int(round(serving_img_height, 0))
# use serving urls
side = max(serving_img_width, serving_img_height)
和side是您用于服务网址的内容
'http://yourservingurl=s%s'%side
答案 1 :(得分:4)
https://code.google.com/p/googleappengine/issues/detail?id=4200#c18
耶!
从帖子: &#34;它已实际实施,但我没有在任何地方看到它: