python处理圆角图片、圆形图片的例子

效果图如下:

图1(头像图片剪成圆形的,其他为透明)

图2(给图片的4个角加椭圆)

以前没处理过,处理起来真是有点费力呀。

用到的模块:

代码如下:

import os, mathimport imageimport imagedraw

1 头像图片剪成圆形的,其他为透明

搜索了好久,没有找到比较好的方法,有个博客(不好意思,忘记博客地址了)用了一个比较诡异的方法,我试了一下,除了处理jpg图片没有格式转换,其他的都没有问题,我当时就先按照那个方法来了

代码如下:

def circle():

ima = image.open(“test.jpg”).convert(“rgba”)

size = ima.size

# 因为是要圆形,所以需要正方形的图片

r2 = min(size[0], size[1])

if size[0] != size[1]:

ima = ima.resize((r2, r2), image.antialias)

imb = image.new(‘rgba’, (r2, r2),(255,255,255,0))

pima = ima.load()

pimb = imb.load()

r = float(r2/2) #圆心横坐标

for i in range(r2):

for j in range(r2):

lx = abs(i-r+0.5) #到圆心距离的横坐标

ly = abs(j-r+0.5)#到圆心距离的纵坐标

l = pow(lx,2) + pow(ly,2)

if l

Posted in 未分类

发表评论