2
トリミングされた画像からさらにサイズ変更された画像を取得する際に問題があります。私はdjango-cropper 0.1を使用しています。トリミングした画像のための もともとモデルは、このようなコードの一部がありますDjango Cropper - トリミングされた画像から別のサイズ変更された画像を取得する
class Cropped(models.Model):
def __unicode__(self):
return u'%s-%sx%s' % (self.original, self.w, self.h)
def upload_image(self, filename):
return '%s/crop-%s' % (settings.ROOT, filename)
def save(self, *args, **kwargs): #force_insert=False, force_update=False, using=None):
source = self.original.image.path
target = self.upload_image(os.path.basename(source))
Image.open(source).crop([
self.x, # Left
self.y, # Top
self.x + self.w, # Right
self.y + self.h # Bottom
]).save(django_settings.MEDIA_ROOT + os.sep + target)
self.image = target
super(Cropped, self).save(*args, **kwargs)
をしかし、私は、私は、コードを少し変更するので、トリミングされた画像から、追加のリサイズ画像を持つようにしたいと、今ではそのようになっています
class Cropped(models.Model):
def __unicode__(self):
return u'%s-%sx%s' % (self.original, self.w, self.h)
def _get_average_path(self):
return _add_average(self.path)
average_path = property(_get_average_path)
def _get_average_url(self):
return _add_average(self.url)
average_url = property(_get_average_url)
def _get_large_path(self):
return _add_large(self.path)
large_path = property(_get_large_path)
def _get_large_url(self):
return _add_large(self.url)
large_url = property(_get_large_url)
def upload_image(self, filename):
return '%s/crop-%s' % (settings.ROOT, filename)
def save(self, *args, **kwargs): #force_insert=False, force_update=False, using=None):
source = self.original.image.path
target = self.upload_image(os.path.basename(source))
img = Image.open(source).crop([
self.x, # Left
self.y, # Top
self.x + self.w, # Right
self.y + self.h # Bottom
]).save(django_settings.MEDIA_ROOT + os.sep + target)
self.image = target
super(Cropped, self).save(*args, **kwargs)
img = Image.open(self.image.path)
img = img.resize((180, 180), Image.ANTIALIAS)
img.save(self.large_path, 'JPEG')
img = img.resize((104, 104), Image.ANTIALIAS)
img.save(self.average_path, 'JPEG')
しかしそれはまだ基本的な仕事をしています。誰かが私を助けて、このコードで何を修正すべきですか?
まあ、コード内に追加のバリアントが生成される場所が見つかりません。追加のメソッドを実装しただけですが、呼び出されることはありません。 BTWは、代わりにdjango-cuddlybuddlyのようなテンプレートベースのアプローチを使用しますか?私のために、それはより良い動作します。 – schneck
django-cuddlybuddly?私はそれを見ているが、表示されたページに画像をトリミングする機能はないようだ。多分私は間違っています。それで、あなたは、追加イメージを保存する方法を呼び出すために何をすべきかを教えて、私を助けてくれるでしょうか? – krzyhub