国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

python處理圓角圖片、圓形圖片的例子

2020-02-23 05:20:16
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

效果圖如下:


圖1(頭像圖片剪成圓形的,其他為透明)


圖2(給圖片的4個(gè)角加橢圓)


以前沒(méi)處理過(guò),處理起來(lái)真是有點(diǎn)費(fèi)力呀。

用到的模塊:
代碼如下:
import os, math
import Image
import ImageDraw

1 頭像圖片剪成圓形的,其他為透明

搜索了好久,沒(méi)有找到比較好的方法,有個(gè)博客(不好意思,忘記博客地址了)用了一個(gè)比較詭異的方法,我試了一下,除了處理jpg圖片沒(méi)有格式轉(zhuǎn)換,其他的都沒(méi)有問(wèn)題,我當(dāng)時(shí)就先按照那個(gè)方法來(lái)了

代碼如下:
def circle():

    ima = Image.open("test.jpg").convert("RGBA")

    size = ima.size

    # 因?yàn)槭且獔A形,所以需要正方形的圖片

    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) #圓心橫坐標(biāo)

    for i in range(r2):

        for j in range(r2):

            lx = abs(i-r+0.5) #到圓心距離的橫坐標(biāo)

            ly = abs(j-r+0.5)#到圓心距離的縱坐標(biāo)

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

            if l <= pow(r, 2):

                pimb[i,j] = pima[i,j]

    imb.save("test_circle.png")

這個(gè)方法是 計(jì)算每個(gè)像素到原點(diǎn)(就是圖片中心點(diǎn))的距離來(lái)畫圓形的


2、給圖片的4個(gè)角加橢圓
代碼如下:
def circle_corder_image():

    im = Image.open("test.jpg").convert("RGBA")

    rad = 10  # 設(shè)置半徑 

    circle = Image.new('L', (rad * 2, rad * 2), 0)

    draw = ImageDraw.Draw(circle)

    draw.ellipse((0, 0, rad * 2, rad * 2), fill=255)

    alpha = Image.new('L', im.size, 255)

    w, h = im.size

    alpha.paste(circle.crop((0, 0, rad, rad)), (0, 0))

    alpha.paste(circle.crop((0, rad, rad, rad * 2)), (0, h – rad))

    alpha.paste(circle.crop((rad, 0, rad * 2, rad)), (w – rad, 0))

    alpha.paste(circle.crop((rad, rad, rad * 2, rad * 2)), (w – rad, h – rad))

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 蓬莱市| 玛曲县| 霍城县| 博湖县| 吉安市| 方城县| 闽侯县| 隆安县| 盐池县| 吉林省| 紫金县| 当雄县| 翁牛特旗| 北碚区| 含山县| 莱芜市| 泰宁县| 永宁县| 资阳市| 虞城县| 格尔木市| 三台县| 齐齐哈尔市| 文昌市| 临猗县| 大悟县| 新竹市| 桦川县| 长垣县| 横山县| 高雄市| 萨迦县| 嵩明县| 南充市| 云和县| 吴江市| 巢湖市| 将乐县| 赣州市| 临海市| 新干县|