Python绘画好看的星空图

作者:阿黎逸阳 时间:2021-11-22 12:48:12 

一、先来看看Python星空图代码绘制成品

1 两个人的星空

星空下,欲执子之手,相倚长青树。看皎洁月色,闻乡间气息,赏佳人芳心。

Python绘画好看的星空图

2 明月相伴的星空

圆圆明月赏晴空,星空满点洒心中。

Python绘画好看的星空图

3 浩瀚银河中的星空

银河系里的星系再散,再相遇总会在光年之外,碰撞不会化为尘埃是爱。

Python绘画好看的星空图

4 森林映衬下的星空

万千森林,只寻一处幽香。星河滚烫,你是人间理想。即便冰天雪地也尘封不了我对你的爱。

Python绘画好看的星空图

二、分解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 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 设置绘圆圈的基本语句

设置绘制白色圆圈的基本语句:

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格式。另一个是加载后图片太小,可能只有窗口的三分之一。可以在画图中重新调整图片的大小,把水平和垂直的值变大。

Python绘画好看的星空图

三、加音乐播放器

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)             # 设置音乐多久慢慢淡出结束

来源:https://blog.csdn.net/qq_32532663/article/details/106176609

标签:Pytho,n绘画,星空图
0
投稿

猜你喜欢

  • python Paramiko使用示例

    2022-08-10 08:23:28
  • php输出全部gb2312编码内的汉字方法

    2023-10-04 05:56:31
  • 22个HTML5的初级技巧

    2010-12-17 12:39:00
  • 有用的:nth-child秘方

    2011-07-01 12:56:11
  • asp如何显示存储在数据库BLOB字段中的图像?

    2010-06-08 09:31:00
  • python多线程对多核cpu的利用解析

    2023-03-10 02:50:13
  • Vue自定义指令实现弹窗拖拽四边拉伸及对角线拉伸效果

    2024-05-28 15:43:08
  • 趣味Python实战练习之自动更换桌面壁纸脚本附源码

    2021-11-03 09:12:33
  • Python模块zipfile原理及使用方法详解

    2022-03-24 10:33:37
  • 合理关闭XHTML标签

    2008-06-25 13:20:00
  • 带你轻松接触 MySQL中损坏的MyISAM表

    2008-12-19 17:55:00
  • Bootstrap基本样式学习笔记之表单(3)

    2024-06-05 09:11:39
  • python爬取股票最新数据并用excel绘制树状图的示例

    2023-11-23 14:37:24
  • Go语言net包RPC远程调用三种方式http与json-rpc及tcp

    2024-05-29 22:06:14
  • Django框架教程之正则表达式URL误区详解

    2021-03-18 13:46:13
  • 微信小程序开发注意指南和优化实践(小结)

    2024-04-17 10:38:05
  • 基于SQL中SET与SELECT赋值的区别详解

    2024-01-20 02:13:17
  • Python图像处理之图像拼接

    2021-08-14 19:27:41
  • 在Mac中配置Python虚拟环境过程解析

    2023-11-14 06:55:43
  • 对Web开发人员有用的8个网站小结

    2022-01-16 09:39:20
  • asp之家 网络编程 m.aspxhome.com