ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python – get_serving_url不支持宽度/高度’大小’参数的解决方法?

2019-07-26 02:06:21  阅读:259  来源: 互联网

标签:blobstore python google-app-engine


get_serving_url当前不支持独立调整图像宽度/高度,而只允许使用’size’参数调整方形大小.

http://code.google.com/p/googleappengine/issues/detail?id=4200

任何人都可以建议一个有效的解决方法吗?看起来像使用images.resize()是要走的路,但是不需要在blobstore中重新存储转换后的图像来获取get_serving_url的blob_key吗?

希望有一个足够有效的解决方案,不会撤消使用blobstore的速度优势!

谢谢大家.

解决方法:

您需要做的是计算原始图像的比例,以将其大小调整为您想要的宽度和高度,之后您应该将计算出的大小值传递给服务网址并获得您想要的内容.

    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’ %侧

标签:blobstore,python,google-app-engine
来源: https://codeday.me/bug/20190726/1539376.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有