国产探花免费观看_亚洲丰满少妇自慰呻吟_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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广河县| 青岛市| 德格县| 屏东市| 永靖县| 沛县| 深圳市| 乌鲁木齐县| 安国市| 长治县| 垣曲县| 固原市| 绍兴市| 连平县| 易门县| 漾濞| 广德县| 泰和县| 民乐县| 平塘县| 威信县| 云龙县| 福鼎市| 忻州市| 佛山市| 政和县| 来安县| 和田市| 调兵山市| 高平市| 崇仁县| 恩施市| 监利县| 绍兴县| 东丰县| 福建省| 元阳县| 葫芦岛市| 寿光市| 会昌县| 兴海县|