ai自创画笔_ai运用画笔工具制作简单图形

社会热点 2025-10-21 10:15www.robotxin.com纳米机器人

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

  • 1)
  • 绘制逻辑

    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]

  • last_pos[0]) t)
  • y = int(last_pos[1] + (current_pos[1]

  • last_pos[1]) t)
  • 添加随机抖动模拟手绘效果

    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

    Copyright © 2016-2025 www.robotxin.com 人工智能机器人网 版权所有 Power by