Python繪畫好看的星空?qǐng)D
一、先來看看Python星空?qǐng)D代碼繪制成品
1 兩個(gè)人的星空
星空下,欲執(zhí)子之手,相倚長(zhǎng)青樹??答嵲律勦l(xiāng)間氣息,賞佳人芳心。

2 明月相伴的星空
圓圓明月賞晴空,星空滿點(diǎn)灑心中。

3 浩瀚銀河中的星空
銀河系里的星系再散,再相遇總會(huì)在光年之外,碰撞不會(huì)化為塵埃是愛。

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

二、分解Python模擬3D星空?qǐng)D代碼講解
1 下載并加載庫(kù)
turtle庫(kù)(相當(dāng)于給你一支畫筆,你可以在畫布上用數(shù)學(xué)邏輯控制的代碼完成繪圖)。
random庫(kù),可以生成隨機(jī)數(shù)。
""" 代碼用途:模擬3D星空 作者:阿黎逸陽(yáng) ? """ from turtle import * from random import random,randint
接下來挑選幾段基本代碼進(jìn)行展示
2 設(shè)置屏幕和背景顏色
設(shè)置屏幕的像素,并把背景顏色設(shè)置為黑色。
s = Screen()
width ,height = 800,600
s.setup(width,height) ? ? ? ? ?#輸入寬和高為整數(shù)時(shí), 表示像素; 為小數(shù)時(shí), 表示占據(jù)電腦屏幕的比例
s.title("模擬3D星空-阿黎逸陽(yáng)") ?#設(shè)置標(biāo)題
s.bgcolor("black") ?#設(shè)置背景顏色為黑色
s.mode("logo") ? ? ?#設(shè)置烏龜模式(“standard”,“l(fā)ogo”或“world”)并執(zhí)行重置,logo表示向上
s.delay(0) ? ? ? ? ?#設(shè)置或返回以毫秒為單位的繪圖延遲,這里要設(shè)為0,否則很卡3 在屏幕的右下角寫下文字
用海龜在屏幕的右下角寫下喜歡的話,由于底色是黑色,所以把字體顏色設(shè)置為白色(write后面的文字可以替換成你喜歡的)。
printer = Turtle()
printer.hideturtle()
printer.penup()
printer.color('white')
printer.goto(-100,-150)
printer.write("In the whole universe\n\n",move = True, align="left", font=("Italic", 30, "bold"))
printer.goto(-300,-200)
printer.write("you're the only star belongs me!\n\n",move = True, align="left", font=("Italic", 30, "bold"))4 設(shè)置繪圓圈的基本語句
設(shè)置繪制白色圓圈的基本語句:
t = Turtle(visible = False,shape='circle')
t.pencolor("white") ? ? ? ?#設(shè)置畫筆的顏色
t.fillcolor("white") ? ? ? #設(shè)置圖形填充顏色
t.penup() ? ? ? ? ? ? ? ? ?#抬起畫筆
t.setheading(-90) ? ? ? ? ?#設(shè)置當(dāng)前朝向角度
t.goto(width/2,randint(-height/2,height/2)) ?#把畫筆移動(dòng)到定點(diǎn)5 定義一個(gè)生成背景圖片的函數(shù)
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 ? ? ? #導(dǎo)入設(shè)置路徑的庫(kù)
import sys
from pygame.locals import *
os.chdir('F:/微信公眾號(hào)/Python/0.已發(fā)表/23.繪制星空?qǐng)D/星空?qǐng)Dv2') ?#把路徑改為數(shù)據(jù)存放的路徑
screen = Screen()
width ,height = 800,600
screen.setup(width,height) ? ? ? ? ?#輸入寬和高為整數(shù)時(shí), 表示像素; 為小數(shù)時(shí), 表示占據(jù)電腦屏幕的比例
screen.title("模擬3D星空-阿黎逸陽(yáng)") ?#設(shè)置標(biāo)題
screen.bgcolor("black") ? ? ? ? ? ?#設(shè)置背景顏色 darkblue
screen.bgpic(r'./兩個(gè)背影.gif')
screen.mode("logo") ? ? ? ? ? ? ? #設(shè)置烏龜模式(“standard”,“l(fā)ogo”或“world”)并執(zhí)行重置,logo表示向上
screen.delay(0) ? ? ? ? ? ? ? ? ?#設(shè)置或返回以毫秒為單位的繪圖延遲,這里要設(shè)為0,否則很卡
printer = Turtle() ? ?
printer.hideturtle()在添加背景圖片時(shí)碰到了兩個(gè)坑。一個(gè)是圖片格式必須是gif,如果不是建議用畫圖打開,另存為gif格式。另一個(gè)是加載后圖片太小,可能只有窗口的三分之一??梢栽诋媹D中重新調(diào)整圖片的大小,把水平和垂直的值變大。

三、加音樂播放器
4 加載庫(kù)并設(shè)置文件路徑
# coding: utf-8
import pygame ? #導(dǎo)入可以加載音樂的庫(kù)
import os ? ? ? #導(dǎo)入設(shè)置路徑的庫(kù)
os.chdir('F:/微信公眾號(hào)/Python/29.加載音樂') ?#把路徑改為數(shù)據(jù)存放的路徑
os.getcwd() ? ?#看下當(dāng)前路徑5 播放音樂
本段代碼可以在Python中實(shí)現(xiàn)簡(jiǎn)單的音樂播放功能,并設(shè)定慢慢淡化并退出音樂的語句。
pygame.mixer.init() ? ? ? ? ? ? ? ? ? ? ? ? ? # 初始化
track = pygame.mixer.music.load('星空.mp3') ? # 加載音樂文件
pygame.mixer.music.play() ? ? ? ? ? ? ? ? ? ? # 開始播放音樂流
pygame.mixer.music.fadeout(60000) ? ? ? ? ? ? # 設(shè)置音樂多久慢慢淡出結(jié)束
到此這篇關(guān)于Python繪畫好看的星空?qǐng)D的文章就介紹到這了,更多相關(guān)Python繪星空?qǐng)D內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中的Request請(qǐng)求重試機(jī)制
這篇文章主要介紹了Python中的Request請(qǐng)求重試機(jī)制,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
Python?Enum枚舉類的定義及使用場(chǎng)景最佳實(shí)踐
枚舉(Enum)是一種有助于提高代碼可讀性和可維護(hù)性的數(shù)據(jù)類型,允許我們?yōu)橐唤M相關(guān)的常量賦予有意義的名字,在Python中,枚舉類(Enum)提供了一種簡(jiǎn)潔而強(qiáng)大的方式來定義和使用枚舉2023-11-11
Python+OpenCV實(shí)現(xiàn)實(shí)時(shí)眼動(dòng)追蹤的示例代碼
這篇文章主要介紹了Python+OpenCV實(shí)現(xiàn)實(shí)時(shí)眼動(dòng)追蹤的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Python不使用int()函數(shù)把字符串轉(zhuǎn)換為數(shù)字的方法
今天小編就為大家分享一篇Python不使用int()函數(shù)把字符串轉(zhuǎn)換為數(shù)字的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-07-07
python人工智能tensorflow函數(shù)tf.nn.dropout使用方法
這篇文章主要為大家介紹了python人工智能tensorflow函數(shù)tf.nn.dropout使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
python機(jī)器學(xué)習(xí)之神經(jīng)網(wǎng)絡(luò)
這篇文章主要介紹了python機(jī)器學(xué)習(xí)之神經(jīng)網(wǎng)絡(luò),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下2021-04-04

