2020-04-01:利用 python3 制作电子签名

问题描述:

  • 疫情期间,在家办公,需要老师、老板签名。
    不一定都有打印机的,所以电子签名就派上了用场。

实现前提:

  • 黑色手写签名图片

思路:

  • 拍照为数码照片,整体图像颜色通过像素点颜色实现。
    只要摘出黑色笔迹所在,将其余颜色替换为白色透明即可。

实现环境:

  • python 3
  • PIL 库

直接上代码

代码内有注释

from PIL import Image

# 打开手写签名图片
img = Image.open('shouxieqianming.jpg') 

# 修改颜色通道为RGBA
img = img.convert('RGBA') 
# 颜色有两种RGBA和RGB,(r, g, b, a)前者有4个值,
# 后者有3个值,每个都是0到255,RGBA的a就代表透明度。

# 确定图片像素
width, height = img.size # 像素/尺度

# 循环修改各个像素点颜色和透明度
for w in range(width):
    for h in range(height):
        pix = img.getpixel((w,h)) # 某像素位置/坐标颜色
        if(pix[0]>100 or pix[1]>100 or pix[2]>100): # 排除所有可能的非黑色
            img.putpixel((w,h),(255,255,255,0)) # 白色透明
        else:
            img.putpixel((w,h),(0,0,0,255)) # 黑色不透明

img.save('dianziqianming.png') # 由于有透明度,只能保存 png 格式

你可能感兴趣的:(2020-04-01:利用 python3 制作电子签名)