使用1.1版我不明白如何预处理原始图像(通过JUST使用imagekit)
https://github.com/jdriscoll/django-imagekit/blob/develop/README.rst
拥有这样的模型:
class Photo(models.Model):
original = models.ImageField(etcetera)
thumbnail = ImageSpec(etcetera)
我如何调整原始图像的大小?这在以前的imagekits中是可能的,但文档暗示我需要另一个modelfield?
答案 0 :(得分:2)
您可以使用ProcessedImageField
:
from imagekit.models import ProcessedImageField
class Photo(models.Model):
original = ProcessedImageField(etcetera)
此课程有in-code documentation,但现在看来它似乎没有被readthedocs'autodoc模块选中。
我重新打开a bug来修复文档。
答案 1 :(得分: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 :(得分: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}
)