ai自创画笔_ai运用画笔工具制作简单图形
import random
import math
初始化pygame
pygameit
screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption("AI画笔工具")
颜色和画笔设置
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
current_color = BLACK
brush_size = 5
drawing = False
last_pos = None
主循环
running = True
while running:
for event in pygame.event.get:
if event.type == pygame.QUIT:
running = False
鼠标处理
if event.type == pygame.MOUSEBUTTONDOWN:
drawing = True
last_pos = pygame.mouse.get_pos
if event.type == pygame.MOUSEBUTTONUP:
drawing = False
last_pos = None
键盘控制
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_c: 清屏
screen.fill(WHITE)
elif event.key == pygame.K_r: 随机颜色
current_color = (random.randint(0,255), random.randint(0,255), random.randint(0,255))
elif event.key == pygame.K_UP: 增大笔刷
brush_size = min(50, brush_size + 1)
elif event.key == pygame.K_DOWN: 减小笔刷
brush_size = max(1, brush_size
绘制逻辑
if drawing:
current_pos = pygame.mouse.get_pos
if last_pos:
使用AI模拟自然画笔效果
distance = math.dist(last_pos, current_pos)
steps = max(1, int(distance / 2))
for i in range(steps):
t = i / steps
x = int(last_pos[0] + (current_pos[0]
y = int(last_pos[1] + (current_pos[1]
添加随机抖动模拟手绘效果
jitter_x = random.randint(-brush_size//2, brush_size//2)
jitter_y = random.randint(-brush_size//2, brush_size//2)
pygame.draw.circle(screen, current_color, (x+jitter_x, y+jitter_y), brush_size)
last_pos = current_pos
pygame.display.flip
pygame.quit