首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >统一缩放/裁剪/格式化用户上传的头像

问统一缩放/裁剪/格式化用户上传的头像
EN

Stack Overflow用户
提问于 2009-07-02 19:44:34
回答 7查看 2.4K关注 0票数 0

我允许用户在我的网站上上传自己的头像。这些图像以各种不同的格式和大小出现。当我显示这些头像照片时,我希望它们具有统一的像素大小而不会失真。

我必须让用户在上传图片时正确地裁剪图片吗?

给定一个随机图像,我如何缩小它,使其低于某个像素的高度/宽度,同时又不使图像失真?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-12-16 07:37:33

我已经使用了几个不同的应用程序来做到这一点:

  • sorl.thumbnail:界面足够简单,可以为你制作标签(这在管理中很方便)。我不喜欢在模型属性上定义图像大小和规格,这会造成代码混乱,使设计和data.
  • Photologue:图像大小的分离在管理员中定义并存储在您的数据库中。这很方便。将zip文件上载到库中。有很多好东西。也许比你need.
  • ImageKit:下一个版本的Photologue是建立在这个基础上的。它是较低级别的,在specs文件中定义图像规格(大小和处理器)。它不会做比它需要的更多的事情,但似乎已经足够了。

正如我所说的,我在不同的项目中使用了所有这三个(巧合地,按照列出的顺序)。对于你听起来像是在做什么,我会选择Sorl或ImageKit。

票数 1
EN

Stack Overflow用户

发布于 2009-07-03 10:37:37

为什么不使用django-avatar项目呢?

他们有一个非常整洁的解决方案,在第一次显示图像之前,使用一个标记来调整图像的大小。您存储原始图像并定义您在网站上接受的图像大小,剩下的工作将自动为您完成。

在Filmaster上,我们也会缓存头像。你可以在这里看一下模板标签代码:https://musielak.eu/public/film20/film20/userprofile/templatetags/avatars.py (user: justlookingaround,pass: film@ster)。

票数 5
EN

Stack Overflow用户

发布于 2009-07-02 20:02:43

我想PythonMagick会让你这么做的。这是ImageMagick的Python版本

如果你打算坚持一个特定的纵横比,让用户从他们的头像照片中选择一个合适的纵横比的区域可能是有意义的。例如,Twitter头像是方形的,48px乘48px。如果你不让用户选择一个合适宽高比的区域,那么当你缩小图像时,图像将会被压缩。

安全提示:值得一提的是,总是通过缩略图程序运行用户上传的图像是一个好主意,因为恶意用户可能会在各种图像文件类型中嵌入信息,这可能会导致安全漏洞。在过去的几年里,已经发现了一系列这样的问题,可以合理地预期会有更多这样的问题。另一种好的做法是提供来自非信任域的用户提供的内容,这样用户上传的恶意代码就不能窃取您的应用程序的cookie。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1076309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档