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

首頁 > 編程 > Python > 正文

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

2019-11-25 18:26:15
字體:
來源:轉載
供稿:網友

效果圖如下:


圖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 <= pow(r, 2):

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

    imb.save("test_circle.png")

這個方法是 計算每個像素到原點(就是圖片中心點)的距離來畫圓形的


2、給圖片的4個角加橢圓

復制代碼 代碼如下:

def circle_corder_image():

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

    rad = 10  # 設置半徑 

    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

主站蜘蛛池模板: 蕉岭县| 新龙县| 彭阳县| 永平县| 巴东县| 临桂县| 遂平县| 北票市| 南通市| 阿瓦提县| 广东省| 嘉义县| 乌兰县| 沽源县| 张家口市| 嘉兴市| 前郭尔| 桃江县| 湛江市| 吴旗县| 保靖县| 阜康市| 开封县| 郴州市| 宜都市| 合山市| 辉县市| 建德市| 昌乐县| 都兰县| 景德镇市| 临猗县| 保德县| 永仁县| 洛扎县| 玉山县| 疏附县| 平山县| 澳门| 辽宁省| 中阳县|