Django Imagekit 处理原始图像
在1.1版本中,我不太明白怎么用imagekit来处理原始图片。
https://github.com/jdriscoll/django-imagekit/blob/develop/README.rst
假设我有这样的一个模型:
class Photo(models.Model):
original = models.ImageField(etcetera)
thumbnail = ImageSpec(etcetera)
那我比如说怎么才能调整原始图片的大小呢?在之前的imagekit版本中是可以做到的,但现在的文档似乎暗示我需要另一个模型字段?
3 个回答
0
下面的内容可以满足你的需求。你还可以在处理器列表中添加其他处理器。这些处理器会在保存图片之前运行。
from imagekit.models import ProcessedImageField
from imagekit.processors import ResizeToFit
class Photo(models.Model):
original = ProcessedImageField(
upload_to='images/%Y%m',
format=JPEG,
processors=[ResizeToFit(200, 100)],
options={'quality': 90}
)
0
在这里查看:https://github.com/jdriscoll/django-imagekit/blob/master/imagekit/processors/resize.py,看起来你需要的就是 Fit
这个类。
虽然没有经过测试,但我猜它大概是这样的:
from django.db import models
from imagekit.models import ImageSpec
from imagekit.processors import resize
class Photo(models.Model):
original_image = models.ImageField(upload_to='photos')
thumbnail = ImageSpec([resize.Fit(50, 50)], image_field='original_image',
format='JPEG', options={'quality': 90})
2
你可以使用 ProcessedImageField
:
from imagekit.models import ProcessedImageField
class Photo(models.Model):
original = ProcessedImageField(etcetera)
这个类有一些代码内的说明,不过现在看起来这些说明没有被readthedocs的自动文档模块识别到。
我重新打开了一个bug,希望能修复这个文档问题。