

























最近在做一个图片网站,要处理很多图片,处理图片少不了加水印了,呵呵。PIL用得不熟,在网上找了一圈,加上自己稍微修改了一下,用起来也算方便,生成效果也不错,呵呵,支持透明的png水印图片,透明度和水印位置都可以很方便的调整。
import Image, ImageEnhance
POSITION = ('LEFTTOP','RIGHTTOP','CENTER','LEFTBOTTOM','RIGHTBOTTOM')
PADDING = 10
MARKIMAGE = 'pylogs.png'
def reduce_opacity(im, opacity):
"""Returns an image with reduced opacity."""
assert opacity >= 0 and opacity <= 1
if im.mode != 'RGBA':
im = im.convert('RGBA')
else:
im = im.copy()
alpha = im.split()[3]
alpha = ImageEnhance.Brightness(alpha).enhance(opacity)
im.putalpha(alpha)
return im
def watermark(imagefile, markfile, position=POSITION[4], opacity=1):
"""Adds a watermark to an image."""
im = Image.open(imagefile)
mark = Image.open(markfile)
if opacity < 1:
mark = reduce_opacity(mark ...
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。