# -*- coding:utf-8 -*- # @Author len # @Create 2023/12/31 11:18 import matplotlib.pyplot as plt import numpy as np def draw_star(color='blue'): # 定义五角星的顶点 def star_point(angle, distance, center=(0, 0)): return center[0] + distance * np.cos(angle), center[1] + distance * np.sin(angle) # 创建星形的顶点坐标 points = [] for i in range(5): points.append(star_point(i * 2 * np.pi / 5, 1)) points.append(star_point(i * 2 * np.pi / 5 + np.pi / 5, 0.5)) # 创建图形和轴,设置背景为透明 fig, ax = plt.subplots(figsize=(6, 6), dpi=100) fig.patch.set_alpha(0.0) # 绘制五角星,颜色为指定颜色 star = plt.Polygon(points, closed=True, color=color) ax.add_patch(star) # 设置坐标轴的范围和比例 ax.set_xlim(-1.5, 1.5) ax.set_ylim(-1.5, 1.5) ax.set_aspect('equal') # 移除坐标轴 ax.axis('off') # 保存图像为PNG格式,背景设为透明 plt.savefig('star.png', transparent=True, bbox_inches='tight', pad_inches=0) # 显示图像 plt.show() # 调用函数并传入您选择的颜色 draw_star(color='blue') # 您可以替换为任何喜欢的颜色 # import matplotlib.pyplot as plt # import numpy as np # # def draw_filled_five_pointed_star(ax, center=(0, 0), size=1): # # 定义五芒星顶点的函数 # def star_point(angle, distance): # return center[0] + distance * np.cos(angle), center[1] + distance * np.sin(angle) # # # 创建五个顶点 # points = [star_point(i * 2 * np.pi / 5, size) for i in range(5)] # # 按照五芒星的顺序连接顶点 # star_path = [points[i % 5] for i in [0, 2, 4, 1, 3, 0]] # # # 分解出x和y坐标 # star_x, star_y = zip(*star_path) # # # 使用红色填充五芒星 # ax.fill(star_x, star_y, 'r') # # # 创建图形和轴,设置透明背景 # fig, ax = plt.subplots(figsize=(6, 6), dpi=100) # fig.patch.set_alpha(0.0) # ax.patch.set_alpha(0.0) # # # 绘制填充的五芒星 # draw_filled_five_pointed_star(ax) # # # 设置图形的比例相等,并移除坐标轴 # ax.set_aspect('equal') # ax.axis('off') # # # 保存图像为PNG格式,背景透明 # plt.savefig('filled_five_pointed_star.png', transparent=True, bbox_inches='tight', pad_inches=0) # # # 显示图形 # plt.show()