Program

Life is like a box of chocolates.You never know what you're gonna get

[导入]利用PIL生成水印图片或文字

      最近在做一个图片网站,要处理很多图片,处理图片少不了加水印了,呵呵。PIL用得不熟,在网上找了一圈,加上自己稍微修改了一下,用起来也算方便,生成效果也不错,呵呵,支持透明的png水印图片,透明度和水印位置都可以很方便的调整。大笑


上几张测试图:
img

img

img

img

代码:


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 ...

文章来源:http://oteam.cn/2008/7/6/use-pil-create-watermark/

posted on 2008-07-06 19:11  末世纪狂潮  阅读(534)  评论(0)    收藏  举报

导航