【问题标题】:Google App Engine. Resize only big images with get_serving_url()谷歌应用引擎。使用 get_serving_url() 仅调整大图像的大小
【发布时间】:2011-09-01 09:55:13
【问题描述】:

我创建了一个网站,用户可以上传任意大小的图片。

我提供了带有get_serving_url 功能的图像。 我已添加到图像修饰符的末尾以将图像大小调整为 200 像素大小。

http://127.0.0.1:8080/_ah/img/dtrh0i6I_V5JGulg2_LKZw===s200

我上传了 1000x800 的图片 - 好吧 - 我有 200x160 的图片

如果我上传了 100x50 的图片 - 结果我调整了尺寸为 200x100 的图片。但这不是一件好事。如果图片尺寸小于 200 像素,我需要显示原始小图片

如何使用get_serving_url 在 Google App Engine + Python 上执行此操作?

【问题讨论】:

    标签: image google-app-engine image-scaling


    【解决方案1】:

    使用get_serving_url 无法自动完成您需要的操作。

    我认为最简单的实现方法是将图像与needs_resize 属性一起保存,如果不是这种情况(提供原始图像),则在没有size 参数的情况下调用get_serving_url

    【讨论】:

    • 是的,如果我没有设置 =s200,则图像以原始尺寸 100x50 显示。但是,在模板中我使用 url 来图像,并且需要在模板中显示正确的图像而无需额外的逻辑。
    • 也许我需要重新实现 /_ah/img/... 以显示原始尺寸的图像并忽略 =sXX 属性,如果图像的尺寸大于 XX 尺寸?
    • 要么将图片 URL 发送到模板,要么在模板中调用 get_serving_url。在它周围写一个包装器。正如我所说,“只有在更大时才调整大小”类型的逻辑不是内置的。
    • 在这种情况下,我每次都需要对blob store进行查询以检索有关图像高度和宽度的信息?
    • @Anton 你最初是如何获得 URL 的?将图像尺寸存储在旁边。
    猜你喜欢
    • 1970-01-01
    • 2011-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多