在 tkinter 上用铅笔画 canvas

Pencil drawing on a tkinter canvas

我正在尝试在 tkinter canvas 上使用“铅笔式”外观进行绘图。我可以像标记一样在 canvas 上画画,这是一张图片。

我也希望能够像“铅笔”风格一样绘画,这是我的意思的图片(图片来自 paint 3d)

我认为 numpyPILOpen CV2 可以,但我不知道如何绘制铅笔素描。我能得到的唯一信息是如何将整个图像转换为铅笔素描。

因为您没有提供最小的可重现示例。代码留给你作为练习:

import tkinter as tk
import math
import random

RADIUS = 10
SEEDS = 10

def random_point(x,y):
    a = random_angle = 2*math.pi*random.random()
    r = random_radius= RADIUS*math.sqrt(random.random())
    random_x = r*math.cos(a)+x
    random_y = r*math.sin(a)+y
    return random_x,random_y

def paint(event):
    x = event.x
    y = event.y
    canvas = event.widget
    for i in range(SEEDS):
        random_x,random_y = random_point(x,y)
        canvas.create_line(random_x,random_y,random_x+1,random_y+1,fill='black')
    

root = tk.Tk()
cnvs = tk.Canvas(root)
cnvs.bind('<Motion>',paint)
cnvs.pack()
root.mainloop() 

编码愉快!