Форум сайта python.su
Сабж. Модель:
img = models.ImageField(upload_to='%s%s' % ('tizers/', randstring())) img_with_watermark = models.ImageField(upload_to='watermark', blank=True, null=True)
def save(self): imbase = Image.open(self.img) imwater = Image.open('/home/water.png') format = imbase.format if imbase.mode not in ('L', 'RGB'): imbase = imbase.convert('RGB') imbase.paste(imwater,(imbase.size[0]-imwater.size[0],imbase.size[1]-imwater.size[1]),imwater) temp_handle = StringIO() imbase.save(temp_handle, format) temp_handle.seek(0) suf = SimpleUploadedFile(os.path.split(self.img.name)[-1], temp_handle.read(), content_type='image/%s' % format) self.img_with_watermark.save('%s.%s' % (suf.name, format), suf, save=False) super(Tizer, self).save()
im = pgmagick.Image(str(self.img.path))
Офлайн
Для свежезагруженной картинки, до того, как вызван код
super(Tizer, self).save()
imbase = Image(Blob(self.img.read()))
Офлайн