Python圖像處理之給圖片添加圓角效果的完整代碼
代碼解析
首先,我們需要導入PIL庫中的Image
和ImageDraw
模塊。這兩個模塊提供了豐富的圖像處理功能。
from PIL import Image, ImageDraw
接下來,我們定義一個名為round_corners
的函數,該函數接受三個參數:image_path
(輸入圖片的路徑)、output_path
(輸出圖片的路徑)和radius
(圓角的半徑)。
def round_corners(image_path, output_path, radius):
在函數內部,我們首先使用Image.open
方法打開圖片,并將其轉換為"RGBA"模式,以便進行透明處理。
image = Image.open(image_path).convert("RGBA")
然后,我們創(chuàng)建一個與原圖相同大小的空白圖像作為遮罩,這個遮罩將用于實現圓角效果。
mask = Image.new("RGBA", image.size, (0, 0, 0, 0))
接下來,我們使用ImageDraw.Draw
創(chuàng)建一個畫筆對象,并在遮罩上繪制一個圓角矩形。圓角矩形的填充顏色設置為白色(RGB值為(255, 255, 255))。
draw = ImageDraw.Draw(mask) draw.rounded_rectangle((0, 0, image.width, image.height), radius, fill=(255, 255, 255))
現在,我們創(chuàng)建一個新的圖像對象result
,其大小與原圖相同,并設置為"RGBA"模式。
result = Image.new("RGBA", image.size)
使用paste
方法,我們將原圖粘貼到新圖像上,并使用之前創(chuàng)建的遮罩來實現圓角效果。
result.paste(image, mask=mask)
最后,我們使用save
方法將處理后的圖片保存到指定的輸出路徑。
result.save(output_path)
使用示例
下面是一個使用round_corners
函數的示例。我們假設有一張名為20250306.png
的圖片,并希望將其圓角半徑設置為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): # 打開圖片,并轉換為RGBA模式,以支持透明背景 image = Image.open(image_path).convert("RGBA") # 創(chuàng)建一個與原圖相同大小的空白圖像作為蒙版 mask = Image.new("RGBA", image.size, (0, 0, 0, 0)) # 創(chuàng)建一個畫筆對象,用于在蒙版上繪制圖形 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)建一個新的圖像對象,大小與原圖相同,模式為RGBA result = Image.new("RGBA", image.size) # 將原圖粘貼到新圖像上,使用蒙版進行遮罩,只保留圓角矩形內的部分 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) # 調用函數,設置圓角半徑為300
實踐操作
你可以按照上面的示例代碼,將源圖片路徑和輸出圖片路徑替換為你自己的文件路徑,并調整圓角半徑的值來達到你想要的效果。運行代碼后,你將在指定路徑下找到處理后的圓角圖片。
結論
通過本文的教程,我們學會了如何使用Python編程語言結合PIL庫給圖片添加圓角效果。這個方法不僅簡單易行,而且效果顯著。在實際應用中,我們可以根據需要調整圓角半徑的大小,以達到不同的視覺效果。無論是美化圖片還是進行圖像處理項目,這個方法都是一個非常實用的工具。希望這篇文章對你有所幫助!
以上就是Python圖像處理之給圖片添加圓角效果的完整代碼的詳細內容,更多關于Python圖片添加圓角的資料請關注腳本之家其它相關文章!
相關文章
Python編程scoketServer實現多線程同步實例代碼
這篇文章主要介紹了Python編程scoketServer實現多線程同步實例代碼,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-01-01向量化操作改進數據分析工作流的Pandas?Numpy示例分析
這篇文章主要介紹了向量化操作改進數據分析工作流的Pandas?Numpy示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-10-10Python pyinotify模塊實現對文檔的實時監(jiān)控功能方法
今天小編就為大家分享一篇Python pyinotify模塊實現對文檔的實時監(jiān)控功能方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10