国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python使用PIL模塊實現給圖片打水印的方法

2020-02-23 01:20:34
字體:
來源:轉載
供稿:網友

本文實例講述了python使用PIL模塊實現給圖片打水印的方法。分享給大家供大家參考。具體實現方法如下:

import Image, ImageEnhancedef 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 imdef watermark(im, mark, position, opacity=1):  """Adds a watermark to an image."""  if opacity < 1:    mark = reduce_opacity(mark, opacity)  if im.mode != 'RGBA':    im = im.convert('RGBA')  # create a transparent layer the size of the image and draw the  # watermark in that layer.  layer = Image.new('RGBA', im.size, (0,0,0,0))  if position == 'tile':    for y in range(0, im.size[1], mark.size[1]):      for x in range(0, im.size[0], mark.size[0]):        layer.paste(mark, (x, y))  elif position == 'scale':    # scale, but preserve the aspect ratio    ratio = min(      float(im.size[0]) / mark.size[0], float(im.size[1]) / mark.size[1])    w = int(mark.size[0] * ratio)    h = int(mark.size[1] * ratio)    mark = mark.resize((w, h))    layer.paste(mark, ((im.size[0] - w) / 2, (im.size[1] - h) / 2))  else:    layer.paste(mark, position)  # composite the watermark with the layer  return Image.composite(layer, im, layer)def test():  im = Image.open('test.png')  mark = Image.open('overlay.png')  watermark(im, mark, 'tile', 0.5).show()  watermark(im, mark, 'scale', 1.0).show()  watermark(im, mark, (100, 100), 0.5).show()if __name__ == '__main__':  test()

希望本文所述對大家的Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 碌曲县| 扎赉特旗| 乐平市| 鹤庆县| 蓬莱市| 恩平市| 宁津县| 凤阳县| 海盐县| 浦北县| 临洮县| 兴安县| 九江市| 晋州市| 左权县| 黔东| 三穗县| 榆林市| 遂溪县| 台中县| 旺苍县| 凌海市| 凤凰县| 库尔勒市| 嘉鱼县| 久治县| 蕲春县| 无棣县| 永平县| 武义县| 应用必备| 宝山区| 安泽县| 和硕县| 唐河县| 浮山县| 竹北市| 吴桥县| 福州市| 雷州市| 寿宁县|