Управление отдельными цветами пикселей в виджете Tkinter Canvas

1

Я хотел бы иметь возможность изменять цвет отдельных пикселей внутри виджета холста Tkinter.

Моя первая попытка в этом, я создал много объектов линии и сделал их действовать как пиксели.

self.Ca - мой виджет Canvas

сниппет:

i0 = 0
while i0 < height:
    i1 = 0
    while i1 < width:
        pix = self.Ca.create_line(i1, i0, i1+1, i0, fill=self.Hex, width=1)
        self.matrix.append(pix)
        i1 = i1 + 1
    i0 = i0 + 1

Хотя это работает, он пожирает ресурсы. После того, как виджет получает намного больше, чем производительность 100X100, быстро падает.

Есть ли лучший способ?

Теги:
tkinter
widget
tkinter-canvas

2 ответа

1
Лучший ответ

Вместо использования холста начните с чистого изображения соответствующего размера. Вы можете легко манипулировать отдельными пикселями в изображении, хотя вы теряете возможность рисовать объекты, такие как линии, круги и т.д.

Нижняя строка заключается в том, что холст не предназначен для работы с отдельными пикселями.

0

Вы также можете работать с прямоугольниками... рисовать прямоугольник на пикселе x, y

canvas.create_rectangle(x,y,x+1,y+1,fill="red")

Но, конечно, это не самый эффективный...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню