Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在django python中,将图像大小调整为特定的高度和宽度_Python_Django_Image_Crop - Fatal编程技术网

在django python中,将图像大小调整为特定的高度和宽度

在django python中,将图像大小调整为特定的高度和宽度,python,django,image,crop,Python,Django,Image,Crop,我有一个基于django的网站,我在其中创建了该组织工作人员的个人资料。由于这是一项重新设计工作,我使用了已有的个人资料图片。当前配置文件图像样式的大小为170x190px。由于图像已经存在并且大小不同,我想将它们裁剪到上面指定的大小。但我该如何决定从哪一方切入呢 目前,我已将170by190样式应用于所有在配置文件中显示的图像,但大多数图像看起来失真,因为纵横比不匹配 我已经尝试了PIL缩略图功能,但它不适合的需要 请提出解决方案。好吧,你必须调整图片的大小,但图片比例会对最终结果产生巨大影响

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

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

我已经尝试了PIL缩略图功能,但它不适合的需要


请提出解决方案。

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

  • 手动将其裁剪到所需比例(17:19)(如果您有大量图像,请稍等片刻)
  • 创建脚本,在图像比率接近要求时为该图像添加填充,所有比率远离要求的图像标记为“需要人工裁剪”,并在以后自己使用它们的比率(半手动,因此仍然可能非常耗时)
  • 花一些时间编写人脸识别函数,然后使用该函数处理图像并找到人脸,然后从原始图像中裁剪它们,但在之前:添加填充以在人脸顶部和底部达到所需的比例(17:19)(推荐)
  • 一些可能对您完全可用的链接:

    • 模块,他们可能会帮助您

    祝你好运

    使用,您不需要手动裁剪每个图像。

    谢谢,我将尝试这些选项。@escapee欢迎:)希望您能轻松完成。我研究了一种粗糙的方法。我尝试过的是根据纵横比大于1或小于1,将图像大小调整为170宽或190高。然后裁剪宽度/高度。它适用于大多数图像。在用户端更新照片时,我还提供了图像大小调整选项。