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

首頁 > 編程 > Python > 正文

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

2019-11-25 17:24:29
字體:
來源:轉載
供稿:網友

本文實例講述了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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 内黄县| 通山县| 株洲市| 巴林右旗| 延庆县| 禄丰县| 含山县| 祁阳县| 昌黎县| 永善县| 青阳县| 恩施市| 宁德市| 来宾市| 济阳县| 滨州市| 宾阳县| 博湖县| 石嘴山市| 巩留县| 雅江县| 青海省| 外汇| 拉孜县| 宣武区| 万山特区| 奉化市| 鄂温| 德保县| 儋州市| 彭州市| 阿图什市| 霞浦县| 抚顺市| 乡宁县| 马边| 诏安县| 成都市| 大化| 山阴县| 隆回县|