首頁 > 軟體

Python繪畫好看的星空圖

2022-03-17 13:01:08

一、先來看看Python星空圖程式碼繪製成品

1 兩個人的星空

星空下,欲執子之手,相倚長青樹。看皎潔月色,聞鄉間氣息,賞佳人芳心。

2 明月相伴的星空

圓圓明月賞晴空,星空滿點灑心中。

3 浩瀚銀河中的星空

銀河系裡的星系再散,再相遇總會在光年之外,碰撞不會化為塵埃是愛。

4 森林映襯下的星空

萬千森林,只尋一處幽香。星河滾燙,你是人間理想。即便冰天雪地也塵封不了我對你的愛。

二、分解Python模擬3D星空圖程式碼講解

1 下載並載入庫

turtle庫(相當於給你一支畫筆,你可以在畫布上用數學邏輯控制的程式碼完成繪圖)。
random庫,可以生成亂數。

"""
程式碼用途:模擬3D星空
作者:阿黎逸陽
​
"""
from turtle import *
from random import random,randint

接下來挑選幾段基本程式碼進行展示

2 設定螢幕和背景顏色

設定螢幕的畫素,並把背景顏色設定為黑色。

s = Screen()
width ,height = 800,600
s.setup(width,height)          #輸入寬和高為整數時, 表示畫素; 為小數時, 表示佔據電腦螢幕的比例
s.title("模擬3D星空-阿黎逸陽")  #設定標題
s.bgcolor("black")  #設定背景顏色為黑色
s.mode("logo")      #設定烏龜模式(「standard」,「logo」或「world」)並執行重置,logo表示向上
s.delay(0)          #設定或返回以毫秒為單位的繪圖延遲,這裡要設為0,否則很卡

3 在螢幕的右下角寫下文字

用海龜在螢幕的右下角寫下喜歡的話,由於底色是黑色,所以把字型顏色設定為白色(write後面的文字可以替換成你喜歡的)。

printer = Turtle()
printer.hideturtle()
printer.penup()
printer.color('white')
printer.goto(-100,-150)
printer.write("In the whole universenn",move = True, align="left", font=("Italic", 30, "bold"))
printer.goto(-300,-200)
printer.write("you're the only star belongs me!nn",move = True, align="left", font=("Italic", 30, "bold"))

4 設定繪圓圈的基本語句

設定繪製白色圓圈的基本語句:

t = Turtle(visible = False,shape='circle')
t.pencolor("white")        #設定畫筆的顏色
t.fillcolor("white")       #設定圖形填充顏色
t.penup()                  #擡起畫筆
t.setheading(-90)          #設定當前朝向角度
t.goto(width/2,randint(-height/2,height/2))  #把畫筆移動到定點

5 定義一個生成背景圖片的函數

def bgpic(self, picname=None):
        if picname is None:
            return self._bgpicname
        if picname not in self._bgpics:
            self._bgpics[picname] = self._image(picname)
        self._setbgpic(self._bgpic, self._bgpics[picname])
        self._bgpicname = picname

6 在程式碼中加入生成背景圖片的語句

from turtle import *
from random import random,randint
import os       #匯入設定路徑的庫
import sys
from pygame.locals import *


os.chdir('F:/微信公眾號/Python/0.已發表/23.繪製星空圖/星空圖v2')  #把路徑改為資料存放的路徑
screen = Screen()
width ,height = 800,600
screen.setup(width,height)          #輸入寬和高為整數時, 表示畫素; 為小數時, 表示佔據電腦螢幕的比例
screen.title("模擬3D星空-阿黎逸陽")  #設定標題
screen.bgcolor("black")            #設定背景顏色 darkblue
screen.bgpic(r'./兩個背影.gif')
screen.mode("logo")               #設定烏龜模式(「standard」,「logo」或「world」)並執行重置,logo表示向上
screen.delay(0)                  #設定或返回以毫秒為單位的繪圖延遲,這裡要設為0,否則很卡

printer = Turtle()    
printer.hideturtle()

在新增背景圖片時碰到了兩個坑。一個是圖片格式必須是gif,如果不是建議用畫圖開啟,另存為gif格式。另一個是載入後圖片太小,可能只有視窗的三分之一。可以在畫圖中重新調整圖片的大小,把水平和垂直的值變大。

三、加音樂播放器

4 載入庫並設定檔案路徑

# coding: utf-8
import pygame   #匯入可以載入音樂的庫
import os       #匯入設定路徑的庫

os.chdir('F:/微信公眾號/Python/29.載入音樂')  #把路徑改為資料存放的路徑
os.getcwd()    #看下當前路徑

5 播放音樂

本段程式碼可以在Python中實現簡單的音樂播放功能,並設定慢慢淡化並退出音樂的語句。

pygame.mixer.init()                           # 初始化
track = pygame.mixer.music.load('星空.mp3')   # 載入音樂檔案
pygame.mixer.music.play()                     # 開始播放音樂流
pygame.mixer.music.fadeout(60000)             # 設定音樂多久慢慢淡出結束

到此這篇關於Python繪畫好看的星空圖的文章就介紹到這了,更多相關Python繪星空圖內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com