用 Python 給自己的頭像加一個小國旗(小月餅)
今天是國慶節也是中秋節,首先祝大家節日快樂,本文我們使用 Python 來給自己的頭像加一個小國旗或小月餅。
國旗
對於國旗,我們可以使用 Python 來畫一個,用到的 Python 庫是大家比較熟悉的 turtle,我們的五星紅旗組成元素包括:紅底、一顆黃的主星和四顆黃的副星。
首先畫一個長方形的紅底,程式碼實現如下:
turtle.setup(600, 400, 0, 0)
turtle.bgcolor("red")
效果如下:
接著畫一顆主星,程式碼實現如下:
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()
效果如下:
最後畫四顆副星,程式碼實現如下:
# 副星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 來畫一個,月餅組成元素主要包括:外層圓形的花紋輪廓、內層輪廓和文字。
首先來畫外層圓形的花紋輪廓,程式碼實現如下:
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()
效果如下:
再接著畫內層輪廓,程式碼實現如下:
# 設定畫筆粗細
turtle.pensize(20)
# 填充顏色(外部、內部)
turtle.color("#F5E16F", "#FF9933")
goto(0, -200)
# 準備開始填充
turtle.begin_fill()
turtle.circle(200)
# 填充結束
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()
效果如下:
最後來新增文字,比如豆沙餡的就新增豆沙兩個字,程式碼實現如下:
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
加速下載安裝。
這個功能實現起來也比較簡單,只需十幾行 Python 程式碼就可以搞定,程式碼實現如下:
# 讀取頭像和國旗圖案
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]
# 儲存最終結果
cv2.imwrite('new_head.jpg', img_head)
假如我的原頭像如下:
給頭像加個小國旗,效果如下:
給頭像加個小月餅,效果如下:
相關文章
- CSS 小技巧 | 一行程式碼實現頭像與國旗的融合CSS行程
- 快到聖誕節了,用python來給自己的頭像加上一頂聖誕帽Python
- 搭建一個攝像頭應用程式 應用程式內部攝像頭
- 一次實踐:給自己的手機攝像頭進行相機標定
- 擷取第一個字用php生成一個頭像PHP
- 夏天到了用TypeScript給自己開個小空調吧TypeScript
- 自己的一個小框架框架
- 國慶節大家好!送個小甜餅給大家 ----- 有關Crunch v1.1加殼程式的ProcDump脫殼Script (1千字)
- 給自己一個定位 (轉)
- 編寫一個頭像裁剪元件(一)元件
- 想做一個計劃管理系統給自己用,可是弄不清自己的需求^_^
- Android 圓形頭像 自己動手Android
- 記一個頭像高光動畫的CSS實現動畫CSS
- 免費給自己的網站加 HTTPS網站HTTP
- python創意小作品程式碼-Python學習,給自己的程式碼做個合集,定製自己的桌面軟體!...Python
- 實操:用Python就可以給你的頭像戴上聖誕帽,別@微信團隊了!Python
- 給自己組一個本地儲存
- 用docker給自己做幾個玩具玩Docker
- 一個純前端實現的頭像生成網站前端網站
- 小甜餅 --- 有關新版Asprotect加殼程式的脫殼的又一種思路 (798字)
- 姓氏頭像框小程式原始碼原始碼
- 用kotlin來實現一個餅圖Kotlin
- vlc的應用:用vlc串流攝像頭
- 如何給Dockerhub使用者上傳頭像Docker
- 給自己的專案釋出一個文件吧
- 先給自己定個小目標,比如寫個爬蟲程式爬蟲
- 如何用微信小程式,每天給自己賺個雞腿?微信小程式
- node簡單實現一個更改頭像功能
- 用樹莓派USB攝像頭做個監控樹莓派
- 實現給一個DIV加陰影效果!
- 寫給自己的python基礎Python
- 華為榮耀新旗艦V8今日釋出:雙攝像頭
- win10攝像頭開啟後不能用只顯示一個灰色相機加一個斜槓如何解決Win10
- 如何使用PYTHON操作攝像頭Python
- Python學習,給自己的程式碼做個合集,定製自己的桌面軟體!Python
- 如何給Docker hub使用者上傳頭像Docker
- 給寶寶用Python寫個支援翻譯PDF文件的小軟體Python
- 自己最近搭建的一個docker映象站,分享給大家!Docker