python处理圆角图片、圆形图片的例子
本文导语: 效果图如下: 图1(头像图片剪成圆形的,其他为透明) 图2(给图片的4个角加椭圆) 以前没处理过,处理起来真是有点费力呀。 用到的模块: 代码如下:import os, mathimport Imageimport ImageDraw 1 头像图片剪成圆形的,其他为透明 ...
效果图如下:
图1(头像图片剪成圆形的,其他为透明)
图2(给图片的4个角加椭圆)
以前没处理过,处理起来真是有点费力呀。
用到的模块:
import os, math
import Image
import 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