1

使用 1.1 版,我不明白如何预处理原始图像(仅使用 imagekit)

https://github.com/jdriscoll/django-imagekit/blob/develop/README.rst

有这样的模型:

class Photo(models.Model):
   original = models.ImageField(etcetera)
   thumbnail = ImageSpec(etcetera)

例如,如何调整原始图像的大小?这在以前的 imagekits 中是可能的,但是文档暗示我需要另一个模型域?

4

3 回答 3

2

您可以使用ProcessedImageField

from imagekit.models import ProcessedImageField

class Photo(models.Model):
    original = ProcessedImageField(etcetera)

这个类有代码内的文档,但看起来它现在没有被readthedocs的 autodoc 模块拾取。

我重新打开了一个错误来修复文档。

于 2012-01-30T23:14:30.027 回答
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})
于 2012-01-20T03:49:51.660 回答
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}
    )
于 2015-09-21T14:26:46.100 回答