基于Python實現(xiàn)簡易的自制頭像神器
前言
都說新年新氣象,所以,為了迎接2022年的到來!
小編決定換一波頭像——于是問題來了!換一個什么樣的頭像比較合適呢?
來!開一波腦洞——作為一個不會PS的普通程序員要怎么快速制作一個屬于自己的漸變頭像呢?十行 Python 代碼就能解決,非常簡單!
?

正文
首先來給大家白嫖幾組新年的頭像啦!快接著哈


1)原理簡介
主要使用到了 Python 的 PIL 庫(pip install Pillow),實現(xiàn)步驟也很簡單:
1、讀取帶處理的頭像圖片和國旗圖片,涉及函數(shù)open
2、將國旗圖片設置為從左到右透明度漸變,涉及函數(shù)getpixel putpixel
3、將步驟2中生成的半透明國旗圖片與待處理的頭像圖片合并,涉及函數(shù)paste
4、保存新頭像,涉及函數(shù)save
2)準備中
考慮到春節(jié)那無非就是煙花、新年的文字等等為主體
當然作為一個:本著能夠上網(wǎng)搜圖就不自己動手的原則的程序員,百度是少不了的
一番瀏覽搜到了如下這些圖

3)代碼展示
from PIL import Image
# 讀取圖片,并將新年圖片尺寸重置為頭像圖片的尺寸
s_avatar = Image.open('頭像66.jpg').convert("RGBA")
s_banner = Image.open('新年66.png').convert("RGBA").resize(s_avatar.size)
# 將新年設置透明漸變
w, h = s_banner.size
for i in range(w):
for j in range(h):
#alpha = int(255 - ((i + j) * 255 / 1.4 / 1.4 / w * 1.3)) if int( 255 - ((i + j) * 255 / 1.4 / 1.4 / w * 1.3)) > 0 else 0
#alpha = int(255-(i*(255/int(w*0.8)))) if int(255-(i*(255/int(w*0.8)))) > 0 else 0
s_banner.putpixel((i, j), s_banner.getpixel((i, j))[:-1] + (alpha, ))
# 將新年的圖片粘貼到頭像圖片并保存
s_avatar.paste(s_banne, (0,0), s_banne)
s_avatar.save('半透明漸變頭像.png')
注意:通過調節(jié)代碼中數(shù)值為 0.8的大小,可以得到不同的漸變效果。
如果你覺得從左到右的漸變效果沒什么意思:
alpha = int(255-(i*(255/int(w*0.8)))) if int(255-(i*(255/int(w*0.8)))) > 0 else 0
也可以設置成從左上到右下漸變,比如將設置透明度這塊的代碼換成下面這個
alpha = int(255 - ((i + j) * 255 / 1.4 / 1.4 / w * 1.3)) if int( 255 - ((i + j) * 255 / 1.4 / 1.4 / w * 1.3)) > 0 else 0
4)效果展示
第一組隨機圖像
2張原圖

組合效果圖

第二組隨機圖像
2張原圖

效果圖

其實,像之前特別火的國慶漸變頭像也可以制作的哦,下面給你們演示一組吧
第三組國慶漸變圖像

到此這篇關于基于Python實現(xiàn)簡易的自制頭像神器的文章就介紹到這了,更多相關Python自制頭像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
PyTorch的Optimizer訓練工具的實現(xiàn)
這篇文章主要介紹了PyTorch的Optimizer訓練工具的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08
Python實現(xiàn)破解12306圖片驗證碼的方法分析
這篇文章主要介紹了Python實現(xiàn)破解12306圖片驗證碼的方法,涉及Python圖片截取、調用百度識圖及正則截取等相關操作技巧,需要的朋友可以參考下2017-12-12
vim自動補全插件YouCompleteMe(YCM)安裝過程解析
這篇文章主要介紹了vim自動補全插件YouCompleteMe(YCM)安裝過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-10-10
Python利用PyExecJS庫執(zhí)行JS函數(shù)的案例分析
這篇文章主要介紹了Python利用PyExecJS庫執(zhí)行JS函數(shù),本文通過案例分析給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12

