【问题标题】:Django Imagekit processing the original imageDjango Imagekit 处理原始图像
【发布时间】:2012-02-14 05:18:48
【问题描述】:

对于 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 中是可能的,但是文档暗示我需要另一个模型域?

【问题讨论】:

    标签: python django imagekit django-imagekit


    【解决方案1】:

    你可以使用ProcessedImageField:

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

    这个类上有in-code documentation,但现在readthedocs' autodoc 模块似乎没有接收到它。

    我重新打开了a bug 来修复文档。

    【讨论】:

      【解决方案2】:

      看这里: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})
      

      【讨论】:

      • 不,那只是缩略图的处理器。我想在上传时调整原始图像的大小。这曾经可以通过以前的 django imagekits 中的预处理器实现。当然我可以使用一些自定义PIL 处理,但如果仅使用 imagekit 是不可能的,我会感到惊讶..
      • 很抱歉。我明白你现在在问什么。您是否尝试过:stackoverflow.com/questions/2845000/… 或者您所说的这种方法不再有效?
      【解决方案3】:

      下面会做你正在寻找的东西。您也可以将其他处理器添加到处理器列表中。处理器在保存图像之前运行。

      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}
          )
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多