如何利用Python給自己的頭像加一個小國旗(小月餅)
今年國慶節(jié)也是中秋節(jié),首先祝大家節(jié)日快樂,本文我們使用 Python 來給自己的頭像加一個小國旗或小月餅。
國旗
對于國旗,我們可以使用 Python 來畫一個,用到的 Python 庫是大家比較熟悉的 turtle,我們的五星紅旗組成元素包括:紅底、一顆黃的主星和四顆黃的副星。
首先畫一個長方形的紅底,代碼實現(xiàn)如下:
turtle.setup(600, 400, 0, 0) turtle.bgcolor("red")
效果如下:
接著畫一顆主星,代碼實現(xiàn)如下:
turtle.fillcolor("yellow") turtle.color('yellow') turtle.speed(10) # 主星 turtle.begin_fill() turtle.up() turtle.goto(-280,100) turtle.down() for i in range (5): turtle.forward(150) turtle.right(144) turtle.end_fill()
效果如下:
最后畫四顆副星,代碼實現(xiàn)如下:
# 副星1 turtle.begin_fill() turtle.up() turtle.goto(-100,180) turtle.setheading(305) turtle.down() for i in range (5): turtle.forward(50) turtle.left(144) turtle.end_fill() # 副星2 turtle.begin_fill() turtle.up() turtle.goto(-50,110) turtle.setheading(30) turtle.down() for i in range (5): turtle.forward(50) turtle.right(144) turtle.end_fill() # 副星3 turtle.begin_fill() turtle.up() turtle.goto(-40,50) turtle.setheading(5) turtle.down() for i in range (5): turtle.forward(50) turtle.right(144) turtle.end_fill() # 副星4 turtle.begin_fill() turtle.up() turtle.goto(-100,10) turtle.setheading(300) turtle.down() for i in range (5): turtle.forward(50) turtle.left(144) turtle.end_fill()
最終效果如下:
月餅
對于月餅也可以用 Python 來畫一個,月餅組成元素主要包括:外層圓形的花紋輪廓、內(nèi)層輪廓和文字。
首先來畫外層圓形的花紋輪廓,代碼實現(xiàn)如下:
turtle.speed(100) turtle.color("#F5E16F") for i in range(20): # 順時針移動18度 turtle.right(18) turtle.begin_fill() # 向前移動的距離 turtle.forward(220) # 畫半徑為 40 的半圓 turtle.circle(40, 180) # 畫完半圓之后回到(0,0) turtle.goto(0, 0) turtle.right(360) turtle.end_fill()
效果如下:
再接著畫內(nèi)層輪廓,代碼實現(xiàn)如下:
# 設(shè)置畫筆粗細(xì) turtle.pensize(20) # 填充顏色(外部、內(nèi)部) turtle.color("#F5E16F", "#FF9933") goto(0, -200) # 準(zhǔn)備開始填充 turtle.begin_fill() turtle.circle(200) # 填充結(jié)束 turtle.end_fill() turtle.right(360) turtle.color('#F5E16F') goto(0, -180) for i in range(12): turtle.begin_fill() turtle.circle(60, 120) turtle.left(180) turtle.circle(60, 120) turtle.end_fill()
效果如下:
最后來添加文字,比如豆沙餡的就添加豆沙兩個字,代碼實現(xiàn)如下:
turtle.color("#F5E16F") turtle.write("豆沙", font=("隸書", 60, "bold"))
最終效果如下:
頭像加國旗(月餅)
最后,我們將剛才畫好的國旗或月餅加到自己的頭像上,用到的 Python 庫是 OpenCV,安裝使用 pip install opencv-python
命令即可,如果速度太慢,可以使用 pip install -i https://mirrors.aliyun.com/pypi/simple/ opencv-python
加速下載安裝。
這個功能實現(xiàn)起來也比較簡單,只需十幾行 Python 代碼就可以搞定,代碼實現(xiàn)如下:
# 讀取頭像和國旗圖案 img_head = cv2.imread('head.jpg') img_flag = cv2.imread('flag.png') # 獲取頭像和國旗圖案寬度 w_head, h_head = img_head.shape[:2] w_flag, h_flag = img_flag.shape[:2] # 計算圖案縮放比例 scale = w_head / w_flag / 4 # 縮放圖案 img_flag = cv2.resize(img_flag, (0, 0), fx=scale, fy=scale) # 獲取縮放后新寬度 w_flag, h_flag = img_flag.shape[:2] # 按 3 個通道合并圖片 for c in range(0, 3): img_head[w_head - w_flag:, h_head - h_flag:, c] = img_flag[:, :, c] # 保存最終結(jié)果 cv2.imwrite('new_head.jpg', img_head)
假如我的原頭像如下:
給頭像加個小國旗,效果如下:
給頭像加個小月餅,效果如下:
總結(jié)
到此這篇關(guān)于如何利用Python給自己的頭像加一個小國旗(小月餅)的文章就介紹到這了,更多相關(guān)Python給頭像加小國旗(小月餅)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python可視化Matplotlib折線圖plot用法詳解
這篇文章主要為大家介紹了Python可視化中Matplotlib折線圖plot用法的詳解,有需要的朋友可以借鑒參考下,希望可以有所幫助,祝大家多多進(jìn)步2021-09-09Python協(xié)程方式的實現(xiàn)及意義筆記分享
協(xié)程也被稱為微線程,是一種用戶態(tài)的上下文切換技術(shù),簡而言之,就是通過一個線程實現(xiàn)代碼互相切換執(zhí)行,本文主要給大家介紹實現(xiàn)協(xié)程的幾種方法2021-09-09linux 下python多線程遞歸復(fù)制文件夾及文件夾中的文件
這篇文章主要介紹了linux 下python多線程遞歸復(fù)制文件夾及文件夾中的文件,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2020-01-01keras自動編碼器實現(xiàn)系列之卷積自動編碼器操作
這篇文章主要介紹了keras自動編碼器實現(xiàn)系列之卷積自動編碼器操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-072020最新pycharm漢化安裝(python工程獅親測有效)
這篇文章主要介紹了2020最新pycharm漢化安裝(python工程獅親測有效),文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04