多语言展示
当前在线:771今日阅读:91今日分享:37

用python进行圆形截图

圆形截图,就像电影里面的圆形画面一样。其实,就是把圆形以外的画面,设置成了完全透明的状态。比如下面两幅图。
工具/原料
1

电脑

2

anaconda(python)

方法/步骤
1

图片类型是四通道的RGB图像,第四个通道是α通道,约束图像的透明度。图片大小是600*600。大体代码如下图。

2

读图,并查看图形的尺寸和通道数。b=img.imread('0.png')b.shape

3

查看某一个像素的值。b[m,n]是第m行第n列的像素;b[0,0]是左上角的像素;b[599,599]是右下角的像素;b[600,600]出界了。像素值是介于0到1之间的浮点数。

4

图像第四个通道,默认都是1.0,也就是不透明。

5

图像距离中心为半径300的圆内,保持透明,其它的则变成全透明:        center=np.array([int(b.shape[0]/2),                         int(b.shape[1]/2)])        t=np.array([i,j])        if (sum((t-center)**2))**(1/2)<300:            c[i,j,3]=1.0        else:            c[i,j,3]=0.0全透明,就是把第四个通道变为0.0。

6

把圆心定为第500行第300列,半径为200,效果如下。

7

两个中心:        center1=np.array([500,300])        center2=np.array([300,300])

8

渐变透明:

9

多个圆的交集。

注意事项

python代码地址是:百度网盘1r61_IR5HeYsnCLLdUpXHqw ,密码: svfd。

推荐信息