【发布时间】:2018-08-11 14:24:45
【问题描述】:
我正在创建一个 django 项目,其中我使用 ImageField 将图片(图像)存储在数据库中...
original_pic = models.ImageField()
另外,我想存储一个包含相同图片的图像(图像)
如original_pic 与另一个ImageField 中的水印作为..
watermark_pic = models.ImageField(default=watermarkImage())
简而言之,我只想在original_pic 上应用算法并使用django 模型将结果保存在watermark_pic 中
图像加水印的算法(逻辑)如下...
def watermarkImage(filename, text, color, fontfamily):
image = Image.open(filename).convert('RGBA')
imageWatermark = Image.new('RGBA', image.size, (255, 255, 255, 0))
draw = ImageDraw.Draw(imageWatermark)
width, height = image.size
font = ImageFont.truetype(fontfamily, int(height / 20))
textWidth, textHeight = draw.textsize(text, font)
x = width / 5
y = height / 6
draw.text((x, y), text, color, font)
return Image.alpha_composite(image, imageWatermark)
注意:我知道在图像上应用水印的算法。
【问题讨论】:
-
original_pic和watermark_pic是否属于同一型号?还是在不同的模型中? -
@JerinPeterGeorge 是的,他们是同一型号
-
你为什么要这样做?它将生成图像的相同副本..对吗?你需要吗?
-
@JerinPeterGeorge 不,我不想要相同的副本,我想要一个带有水印的图像副本。也就是说,
watermark_pic将包含带有水印的original_pic的副本就它... -
可以添加做水印的逻辑吗?
标签: python django image django-models watermark