用 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)
假如我的原頭像如下:
給頭像加個小國旗,效果如下:
給頭像加個小月餅,效果如下:
相關文章
- 快到聖誕節了,用python來給自己的頭像加上一頂聖誕帽Python
- CSS 小技巧 | 一行程式碼實現頭像與國旗的融合CSS行程
- 搭建一個攝像頭應用程式 應用程式內部攝像頭
- 一次實踐:給自己的手機攝像頭進行相機標定
- 擷取第一個字用php生成一個頭像PHP
- 夏天到了用TypeScript給自己開個小空調吧TypeScript
- python創意小作品程式碼-Python學習,給自己的程式碼做個合集,定製自己的桌面軟體!...Python
- 編寫一個頭像裁剪元件(一)元件
- 一個炫酷的頭像懸停效果
- 圓角頭像加360旋轉效果
- 給自己組一個本地儲存
- 寫給自己的python基礎Python
- 想要一個龍年頭像,線上等挺急的
- 一個純前端實現的頭像生成網站前端網站
- 給自己的專案釋出一個文件吧
- Python學習,給自己的程式碼做個合集,定製自己的桌面軟體!Python
- 給寶寶用Python寫個支援翻譯PDF文件的小軟體Python
- 如何使用PYTHON操作攝像頭Python
- 姓氏頭像框小程式原始碼原始碼
- 如何給Dockerhub使用者上傳頭像Docker
- 記一個頭像高光動畫的CSS實現動畫CSS
- 教你用python操作攝像頭以及對影片流的處理Python
- 一塊小餅乾(Cookie)的故事-下篇Cookie
- 用樹莓派USB攝像頭做個監控樹莓派
- 實現給一個DIV加陰影效果!
- 自己最近搭建的一個docker映象站,分享給大家!Docker
- win10攝像頭開啟後不能用只顯示一個灰色相機加一個斜槓如何解決Win10
- 用 Python 構建一個極小的區塊鏈Python區塊鏈
- 用Python寫一個像QQ可快捷鍵喚起區域截圖的應用Python
- 如何給Docker hub使用者上傳頭像Docker
- 給你的開源專案加一個綬帶吧
- 給自己定個小目標比如14天入門JavaScriptJavaScript
- 如何用微信小程式,每天給自己賺個雞腿?微信小程式
- 教你如何利用python呼叫攝像頭Python
- vivo Xplay新旗艦曝光:屏下攝像頭 屏佔比逆天
- Python基於opencv呼叫攝像頭獲取個人圖片PythonOpenCV
- 用Python生成柱狀圖、折線圖、餅狀圖來統計自己的手機話費Python
- 頭像