当前位置: 首页 > news >正文

python绘制月亮

在这里插入图片描述

import matplotlib
import matplotlib.pyplot as plt
import moviepy.editor as mpymatplotlib.rcParams['font.family'] = 'SimHei'# 坐标列表
positions = [(0, 0), (1 / 4, 1 / 4), (1 / 3, 1 / 4), (1 / 2, 1 / 4), (2 / 3, 1 / 4),(3 / 4, 1 / 4), (1, 1 / 4), (5 / 4, 1 / 4), (4 / 3, 1 / 4), (3 / 2, 1 / 4), (2, 0)
]# 设置圆的半径
radius = 1# 要添加的文本
text = "人有悲欢离合\n月有阴晴圆缺\n此事古难全\n但愿人长久\n千里共婵娟"# 生成每一帧并保存为图像
for index, position in enumerate(positions):fig, ax = plt.subplots()# 画第二个圆(中心在(2, 0))circle2 = plt.Circle((2 * radius, 0), radius, color='#E1E19A', fill=True)ax.add_artist(circle2)# 画第一个圆(根据位置变化)circle1 = plt.Circle(position, radius, color='white', fill=True)ax.add_artist(circle1)# 设置图形的范围ax.set_xlim(-1, 3)ax.set_ylim(-1, 1)ax.set_aspect('equal')  # 保持圆形比例ax.axis('off')  # 隐藏坐标轴# 添加文本ax.text(-0.8, 0.5, text, fontsize=12, ha='left', va='center', color='black', wrap=True)# 保存当前帧为 PNG 文件plt.savefig(f'frame_{index:03d}.png', bbox_inches='tight', pad_inches=0)plt.close(fig)  # 关闭图形以释放内存# 将生成的帧制作成视频
clips = []
for i in range(len(positions)):clip = mpy.ImageClip(f'frame_{i:03d}.png').set_duration(0.1)  # 每帧持续0.1秒clips.append(clip)# 合并所有帧
video = mpy.concatenate_videoclips(clips, method='compose')
video.write_gif("circle_animation1.gif", fps=10)
video.write_videofile("circle_animation_with_text1.mp4", fps=10)  # 保存为 MP4 文件

http://www.mrgr.cn/news/28773.html

相关文章:

  • 如何申请正高级职称
  • 有机水果蔬菜检测系统源码分享
  • 车型展示+接驳体验!苏州金龙海格客车闪耀汉诺威商用车展
  • C++掉血迷宫
  • pdf去水印怎么去掉免费?6个pdf去除水印的方法快码住,超级好用!
  • 2024/9/16 dataloader、tensorboard、transform
  • 反向传播(Back Propagation,简称BP)
  • CleanClip vs 传统剪贴板:究竟谁更胜一筹?
  • libidn库下载、编译、示例:实现UTF-8转Punycode、Punycode转UTF-8
  • golang学习笔记22——golang微服务中数据竞争问题及解决方案
  • 中国数据中心服务器CPU行业发展概述
  • Java 之多线程基础
  • neo4j(spring) 使用示例
  • Linux:RPM软件包管理以及yum软件包仓库
  • 用 Python 实现将长 Markdown 文档从二级标题开始拆分
  • 【车载以太网】【SOME/IP】vsomeip代码解析--routing_manager
  • 【课程学习】信号检测与估计II
  • NC 排序
  • 硬件工程师笔试面试——显示器件
  • fiddler抓包03_汉化