Django:有没有办法检测上传的图像是横向还是纵向?

时间:2014-04-27 19:29:17

标签: django django-models django-imagekit

我想编写一种方法来检测上传图像的方向,然后使用django-imagekit使用具有特定横向或纵向尺寸的拇指。有什么想法吗?

class Photo(models.Model):

title = models.CharField(max_length=200)
photo = models.ImageField(upload_to='/photos', max_length=50)
photoalbum = models.ForeignKey(Photoalbum, related_name='photos')
portrait_thumb = ImageSpecField(source='photo',
                           processors=[ResizeToFill(50, 100)],
                           format='JPEG',
                           options={'quality': 60})
landscape_thumb = ImageSpecField(source='photo',
                           processors=[ResizeToFill(100, 50)],
                           format='JPEG',
                           options={'quality': 60})

def get_orientation(self):
   '''HOW TO IMPLEMENT THIS?'''

def get_thumb_url(self):
    if self.get_orientation == 'portrait':
        return self.portrait_thumb.url()
    elif self.get_orientation == 'landscape':
        return self.landscape_thumb.url()

1 个答案:

答案 0 :(得分:3)

您可以通过检查模型图像规格字段的宽度和高度属性来完成此操作。如果宽度大于高度,则为横向。如果高度大于宽度,则为纵向。