【问题标题】:Image resize to a specific height and width in django python在django python中将图像调整为特定的高度和宽度
【发布时间】:2016-06-27 13:12:39
【问题描述】:

我有一个基于 django 的网站,我在其中创建了在该组织工作的人员的个人资料。由于这是一项重新设计工作,因此我使用了已经现有的个人资料图片。当前头像样式的大小为 170x190px。由于图像已经存在并且大小不同,我想将它们裁剪为上面指定的大小。但是我如何决定从哪一边裁剪呢?

目前,我在配置文件中显示时已将 170×190 的样式应用于所有图像,但由于纵横比不匹配,大​​多数图像看起来失真。

我尝试过 PIL 缩略图功能,但它不适合需要。

请提出解决方案。

【问题讨论】:

    标签: python django image crop


    【解决方案1】:

    好吧,您必须调整图片大小,但图片比例会对最终结果产生巨大影响。由于图像具有一定的比例,如果不事先调整它们的比例,您不能简单地将它们调整为 170px190px,因此您必须在调整图像大小以获得最佳输出之前更新(而不是裁剪它们!),它可以通过以下方式完成:

    1. 手动将它们裁剪为所需的比例 (17:19)。 (如果您有很多图片,请稍等)
    2. 创建脚本,如果图像比例接近要求,则向该图像添加填充,所有比例远离所需标记的图像都标记为“需要人工裁剪”,然后由自己的(半手动,所以仍然可能非常耗时)
    3. 花一些时间编写人脸识别功能,然后使用该功能处理图像并找到人脸,然后从原始图像中裁剪它们,但之前:在人脸顶部和底部添加填充以实现所需的无线电 (17:19)。 (推荐)

    一些对你来说可能已经完全可用的链接:

    祝你好运!

    【讨论】:

    • 谢谢,我会试试这些选项。
    • @escapee 不客气 :) 希望你能轻松做到。
    • 我研究了一种粗略的方法。我尝试将图像大小调整为 170 宽度或 190 高度,具体取决于纵横比大于 1 或小于 1。然后裁剪宽度/高度。它适用于大多数图像。在用户端更新照片时,我还提供了图像大小调整选项。
    【解决方案2】:

    使用sorl-thumbnail,您无需手动裁剪每张图片。

    【讨论】:

      猜你喜欢
      • 2012-08-14
      • 2015-05-19
      • 2014-01-10
      • 1970-01-01
      • 2014-12-11
      • 2014-04-04
      • 1970-01-01
      • 2011-01-11
      • 1970-01-01
      相关资源
      最近更新 更多