基于Python實現(xiàn)簡易的自制頭像神器
前言
都說新年新氣象,所以,為了迎接2022年的到來!
小編決定換一波頭像——于是問題來了!換一個什么樣的頭像比較合適呢?
來!開一波腦洞——作為一個不會PS的普通程序員要怎么快速制作一個屬于自己的漸變頭像呢?十行 Python 代碼就能解決,非常簡單!
?
正文
首先來給大家白嫖幾組新年的頭像啦!快接著哈
1)原理簡介
主要使用到了 Python 的 PIL 庫(pip install Pillow),實現(xiàn)步驟也很簡單:
1、讀取帶處理的頭像圖片和國旗圖片,涉及函數(shù)open
2、將國旗圖片設(shè)置為從左到右透明度漸變,涉及函數(shù)getpixel putpixel
3、將步驟2中生成的半透明國旗圖片與待處理的頭像圖片合并,涉及函數(shù)paste
4、保存新頭像,涉及函數(shù)save
2)準(zhǔn)備中
考慮到春節(jié)那無非就是煙花、新年的文字等等為主體
當(dāng)然作為一個:本著能夠上網(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) # 將新年設(shè)置透明漸變 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')
注意:通過調(diào)節(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
也可以設(shè)置成從左上到右下漸變,比如將設(shè)置透明度這塊的代碼換成下面這個
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)效果展示
第一組隨機(jī)圖像
2張原圖
組合效果圖
第二組隨機(jī)圖像
2張原圖
效果圖
其實,像之前特別火的國慶漸變頭像也可以制作的哦,下面給你們演示一組吧
第三組國慶漸變圖像
到此這篇關(guān)于基于Python實現(xiàn)簡易的自制頭像神器的文章就介紹到這了,更多相關(guān)Python自制頭像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
修復(fù) Django migration 時遇到的問題解決
本篇文章主要介紹了修復(fù) Django migration 時遇到的問題解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06PyTorch的Optimizer訓(xùn)練工具的實現(xiàn)
這篇文章主要介紹了PyTorch的Optimizer訓(xùn)練工具的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Python實現(xiàn)破解12306圖片驗證碼的方法分析
這篇文章主要介紹了Python實現(xiàn)破解12306圖片驗證碼的方法,涉及Python圖片截取、調(diào)用百度識圖及正則截取等相關(guān)操作技巧,需要的朋友可以參考下2017-12-12vim自動補(bǔ)全插件YouCompleteMe(YCM)安裝過程解析
這篇文章主要介紹了vim自動補(bǔ)全插件YouCompleteMe(YCM)安裝過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-10-10Python利用PyExecJS庫執(zhí)行JS函數(shù)的案例分析
這篇文章主要介紹了Python利用PyExecJS庫執(zhí)行JS函數(shù),本文通過案例分析給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12