我如何可以调整使用一个ImageField的模型的Django上传的图片文件? [关闭](How

2019-07-22 02:30发布

什么是调整通过Django的形式上传的图像文件最直接的方法ImageField

Answer 1:

我很生气,我无法找到一个完整的工作示例中,只有位在这里和那里。 我设法把这些解决方案使自己。 下面是完整的例子,我把它放在形式的清洁()方法(你也可以覆盖模型save()方法,在完全同样的方式 - 改变的ImageField的文件属性)。

import StringIO
from PIL import Image

image_field = self.cleaned_data.get('image_field')
image_file = StringIO.StringIO(image_field.read())
image = Image.open(image_file)
w, h = image.size

image = image.resize((w/2, h/2), Image.ANTIALIAS)

image_file = StringIO.StringIO()
image.save(image_file, 'JPEG', quality=90)

image_field.file = image_file


Answer 2:

你可以使用PIL和调整在YourModel.save()方法中的图像。

例子:

调整上保存图像

http://djangosaur.tumblr.com/post/422589280/django-resize-thumbnail-image-pil

http://davedash.com/2009/02/21/resizing-image-on-upload-in-django/



文章来源: How can I resize an image file uploaded with Django using an ImageField Model? [closed]