【问题标题】:Image Optimization (Google App Engine with Python)图像优化(使用 Python 的 Google App Engine)
【发布时间】:2012-06-13 19:30:14
【问题描述】:

我没有找到类似的问题,我正在寻找图像优化。

我测试了 Facebook 可以对上传的图片优化多少:

980KB --> 77KB

846KB --> 62.1KB

据我发现,Facebook 能够将图像优化多达 10 倍,同时仍保持一些最低图像质量,就像上面的测试一样。

那么,任何人都可以分享您为优化用户上传的图像而实施的最佳方法吗?

当我在网上搜索时,我看到一些网站提供有偿图片优化服务。但是,我们不希望在现阶段订阅任何用于图像优化的付费服务。

我正在 Google App Engine 环境中使用 Python 语言开发项目。我们可以从 Python 库甚至 Google App Engine 库中重用任何部分来实现这一点?

【问题讨论】:

  • IMO,Facebook 以较低的分辨率提供图像,同时仍提供更高分辨率的图像供下载。

标签: python google-app-engine image-optimization


【解决方案1】:

您可能应该在this 问题上加注星标,以便将类似 pngcrush 的功能添加到 AppEngine 图像 API。

【讨论】:

    【解决方案2】:

    基本优化归结为:

    1. 为图像选择合适的格式(通常是 jpeg 照片;如果你不是,你可以全面使用 jpeg 关心图像质量,但除此之外的截图等png。 可能是明智的)

    2. 将图像缩小到适合您的最小分辨率 应用

    3. 将压缩级别提高到可能的最高级别,同时 维护您的质量标准

    您也可以通过剥离无关的元数据来挑剔,但这通常是不必要且不可取的。

    如果您想以自动化方式完成所有这些操作,则必须全面设置标准格式和压缩级别,并接受它并非在所有情况下都是完美的,否则能够确定以编程方式适用于图像的设置(这非常困难,除非您在上传时直接询问用户)。

    通常我会使用 ImageMagick via the PythonMagick bindings 来完成此任务,但这在 Google Apps Engine 上可能不可行。在这种情况下,也许看看Python Imaging Library

    【讨论】:

    • 嗨@Andrew Gorcester,这是你的一个非常有用的酷分享!谢谢 !对此表示赞赏,并将牢记您的建议。 :)
    【解决方案3】:

    另一种解决方案是使用 3rd 方 api,在这种情况下,您可以使用 tinyPNG。那里的压缩算法可能是最好的算法之一。在这里查看开发者指南~>

    https://tinypng.com/developers

    每月前 500 张照片是免费的,每张照片的费用为 $0.009 (> 500 && $0.002 > 10000 张图片。

    【讨论】:

      【解决方案4】:

      很遗憾,您不能使用 PythonMagick。不过Python Imaging Library是可以安装的,使用方法见Google Imaging Service

      facebookesque 优化没有灵丹妙药。您将不得不尝试开发符合您需要的标准的自己的。现在大多数图像都是 5mp,在网站中将它们调整到 1280x720 或更小是正常的。在调整大小之前也需要裁剪无关图像的能力。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多