Django/Python 调整图像大小

0 投票
4 回答
1872 浏览
提问于 2025-04-16 02:38

我有一张来自

files = request.FILES['new_photo'].read()

的图片,我想知道它的大小,并且可能还想调整一下大小。请问我该怎么做呢?

谢谢。

更新

之前,我用 read() 方法读取了文件,然后把这个字符串和一些信息传给了 SQL 函数。然后它把文件保存到了 FTP 上。

我该如何获取和 read() 方法返回的数据一样的数据呢?

我尝试使用 Image.tostring() 方法

并保存它。但是我得到的是一个 0x0 像素的图片。

4 个回答

0

可以使用一些现成的缩略图库,比如http://djangothumbnails.com/,或者更多的选择可以查看http://code.djangoproject.com/wiki/ThumbNails

2

你可以使用PIL来处理图片。点击这里了解更多信息

5

这是我一个网页应用的小代码片段(稍微修改过),它可以创建一个最大为200x200像素的缩略图。也许你可以用到其中的一些部分:

from PIL import Image

image = request.FILES['new_photo']
if image:
    img = Image.open(image)
    img.save(path.join(app.config['UPLOAD_FOLDER'],
        secure_filename('upload-%d.jpg' % self.obj.id)), 'JPEG')
    img.thumbnail((200, 200), Image.ANTIALIAS)
    img.save(path.join(app.config['UPLOAD_FOLDER'],
        secure_filename('upload-%d.200.jpg' % self.obj.id)), 'JPEG')

撰写回答