我允许用户在我的网站上上传自己的头像。这些图像以各种不同的格式和大小出现。当我显示这些头像照片时,我希望它们具有统一的像素大小而不会失真。
我必须让用户在上传图片时正确地裁剪图片吗?
给定一个随机图像,我如何缩小它,使其低于某个像素的高度/宽度,同时又不使图像失真?
发布于 2009-12-16 07:37:33
我已经使用了几个不同的应用程序来做到这一点:
正如我所说的,我在不同的项目中使用了所有这三个(巧合地,按照列出的顺序)。对于你听起来像是在做什么,我会选择Sorl或ImageKit。
发布于 2009-07-03 10:37:37
为什么不使用django-avatar项目呢?
他们有一个非常整洁的解决方案,在第一次显示图像之前,使用一个标记来调整图像的大小。您存储原始图像并定义您在网站上接受的图像大小,剩下的工作将自动为您完成。
在Filmaster上,我们也会缓存头像。你可以在这里看一下模板标签代码:https://musielak.eu/public/film20/film20/userprofile/templatetags/avatars.py (user: justlookingaround,pass: film@ster)。
发布于 2009-07-02 20:02:43
我想PythonMagick会让你这么做的。这是ImageMagick的Python版本
如果你打算坚持一个特定的纵横比,让用户从他们的头像照片中选择一个合适的纵横比的区域可能是有意义的。例如,Twitter头像是方形的,48px乘48px。如果你不让用户选择一个合适宽高比的区域,那么当你缩小图像时,图像将会被压缩。
安全提示:值得一提的是,总是通过缩略图程序运行用户上传的图像是一个好主意,因为恶意用户可能会在各种图像文件类型中嵌入信息,这可能会导致安全漏洞。在过去的几年里,已经发现了一系列这样的问题,可以合理地预期会有更多这样的问题。另一种好的做法是提供来自非信任域的用户提供的内容,这样用户上传的恶意代码就不能窃取您的应用程序的cookie。
https://stackoverflow.com/questions/1076309
复制相似问题