亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python圖像處理之給圖片添加圓角效果的完整代碼

 更新時(shí)間:2025年03月06日 09:57:35   作者:蠟筆小新星  
在日常的圖像處理任務(wù)中,我們經(jīng)常需要對(duì)圖片進(jìn)行一些美化和調(diào)整,今天,我將向大家介紹一個(gè)使用Python編程語(yǔ)言,結(jié)合PIL(Python Imaging Library)庫(kù),給圖片添加圓角效果的方法,需要的朋友可以參考下

代碼解析

首先,我們需要導(dǎo)入PIL庫(kù)中的ImageImageDraw模塊。這兩個(gè)模塊提供了豐富的圖像處理功能。

from PIL import Image, ImageDraw

接下來(lái),我們定義一個(gè)名為round_corners的函數(shù),該函數(shù)接受三個(gè)參數(shù):image_path(輸入圖片的路徑)、output_path(輸出圖片的路徑)和radius(圓角的半徑)。

def round_corners(image_path, output_path, radius):

在函數(shù)內(nèi)部,我們首先使用Image.open方法打開(kāi)圖片,并將其轉(zhuǎn)換為"RGBA"模式,以便進(jìn)行透明處理。

    image = Image.open(image_path).convert("RGBA")

然后,我們創(chuàng)建一個(gè)與原圖相同大小的空白圖像作為遮罩,這個(gè)遮罩將用于實(shí)現(xiàn)圓角效果。

    mask = Image.new("RGBA", image.size, (0, 0, 0, 0))

接下來(lái),我們使用ImageDraw.Draw創(chuàng)建一個(gè)畫(huà)筆對(duì)象,并在遮罩上繪制一個(gè)圓角矩形。圓角矩形的填充顏色設(shè)置為白色(RGB值為(255, 255, 255))。

    draw = ImageDraw.Draw(mask)
    draw.rounded_rectangle((0, 0, image.width, image.height), radius, fill=(255, 255, 255))

現(xiàn)在,我們創(chuàng)建一個(gè)新的圖像對(duì)象result,其大小與原圖相同,并設(shè)置為"RGBA"模式。

    result = Image.new("RGBA", image.size)

使用paste方法,我們將原圖粘貼到新圖像上,并使用之前創(chuàng)建的遮罩來(lái)實(shí)現(xiàn)圓角效果。

    result.paste(image, mask=mask)

最后,我們使用save方法將處理后的圖片保存到指定的輸出路徑。

    result.save(output_path)

使用示例

下面是一個(gè)使用round_corners函數(shù)的示例。我們假設(shè)有一張名為20250306.png的圖片,并希望將其圓角半徑設(shè)置為300像素,處理后的圖片保存為20250306_output.png

source_img = r'D:\test_pic\20250306.png'
output_img = r'D:\test_pic\20250306_output.png'
round_corners(source_img, output_img, 300)

完整示例

from PIL import Image, ImageDraw

def round_corners(image_path, output_path, radius):
    # 打開(kāi)圖片,并轉(zhuǎn)換為RGBA模式,以支持透明背景
    image = Image.open(image_path).convert("RGBA")
    
    # 創(chuàng)建一個(gè)與原圖相同大小的空白圖像作為蒙版
    mask = Image.new("RGBA", image.size, (0, 0, 0, 0))
    
    # 創(chuàng)建一個(gè)畫(huà)筆對(duì)象,用于在蒙版上繪制圖形
    draw = ImageDraw.Draw(mask)
    
    # 在蒙版上繪制圓角矩形,圓角半徑為radius,填充顏色為白色(RGBA模式下為(255, 255, 255, 255))
    draw.rounded_rectangle((0, 0, image.width, image.height), radius, fill=(255, 255, 255, 255))
    
    # 創(chuàng)建一個(gè)新的圖像對(duì)象,大小與原圖相同,模式為RGBA
    result = Image.new("RGBA", image.size)
    
    # 將原圖粘貼到新圖像上,使用蒙版進(jìn)行遮罩,只保留圓角矩形內(nèi)的部分
    result.paste(image, mask=mask)
    
    # 保存處理后的圖像到指定路徑
    result.save(output_path)

# 示例用法
source_img = r'D:\test_pic\20250306.png'  # 源圖片路徑
output_img = r'D:\test_pic\20250306_output.png'         # 輸出圖片路徑
round_corners(source_img, output_img, 300)            # 調(diào)用函數(shù),設(shè)置圓角半徑為300

實(shí)踐操作

你可以按照上面的示例代碼,將源圖片路徑和輸出圖片路徑替換為你自己的文件路徑,并調(diào)整圓角半徑的值來(lái)達(dá)到你想要的效果。運(yùn)行代碼后,你將在指定路徑下找到處理后的圓角圖片。

結(jié)論

通過(guò)本文的教程,我們學(xué)會(huì)了如何使用Python編程語(yǔ)言結(jié)合PIL庫(kù)給圖片添加圓角效果。這個(gè)方法不僅簡(jiǎn)單易行,而且效果顯著。在實(shí)際應(yīng)用中,我們可以根據(jù)需要調(diào)整圓角半徑的大小,以達(dá)到不同的視覺(jué)效果。無(wú)論是美化圖片還是進(jìn)行圖像處理項(xiàng)目,這個(gè)方法都是一個(gè)非常實(shí)用的工具。希望這篇文章對(duì)你有所幫助!

以上就是Python圖像處理之給圖片添加圓角效果的完整代碼的詳細(xì)內(nèi)容,更多關(guān)于Python圖片添加圓角的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論