使用 python PIL模块操作 png 格式的图片文件,改变图片指定位置的像素值。例如,改变图片像素值,制作圆形图片的效果:
原图像:
处理后:
实现代码:
# -*- coding: utf-8 -*-
"""
Created on Fri May 31 22:47:11 2019
@author: Kansa
"""
import PIL.Image as Image
# 以第一个像素为准,相同色改为透明
def transparent_back(img):
img = img.convert('RGBA')
L, H = img.size
color_0 = img.getpixel((173,164))
# color_1 = img.getpixel((40,20))
# print(color_0,color_1)
for h in range(H):
for l in range(L):
if ((h-100)*(h-100) + (l-100)*(l-100))>(100*100):
dot = (l,h)
color_1 = img.getpixel(dot)
# if color_1 == color_0:
color_1 = color_1[:-1] + (0,)
img.putpixel(dot,color_1)
# img.putpixel(dot,(215,215,215,255))
return img
if __name__ == '__main__':
img=Image.open("img.png")
img=transparent_back(img)
img.save("./img1.png")
print("处理完毕")