Получить цвет точки на холсте - PullRequest
0 голосов
/ 03 июня 2018

Можно ли получить цвет (значение rgb и прозрачность) точки (координата x / y) с холста?Пример: я рисую некоторые фигуры и текст на холсте, а затем я хочу получить цвет точки по определенной координате.

Решение должно быть независимым независимо от того, виден ли холст на экране или нет.И он должен работать независимо от операционной системы.

Я не нашел никакого решения в Интернете.Вот почему я предполагаю, что это невозможно.Я прав?

Ответы [ 2 ]

0 голосов
/ 03 июня 2018

Холст не основан на пикселях и не предоставляет API для этого.

Но если у вас установлен пакет tkimg , вы можете использовать его для этого. скриншот холста и затем извлечение значения пикселя из этого.

package require Img

# Get the data into an image
set screengrab [image create photo -format window -data $theCanvas]
# Read the pixel data out of the grabbed image
set pixeldata [$screengrab get $x $y]
# Get rid of the grabbed data once you're done
image delete $screengrab

Обратите внимание, что соответствующие координаты будут координатами области просмотра, а не внутренними координатами холста: если вы прокрутили холст, вам придется смещаться по мере необходимости.

0 голосов
/ 03 июня 2018

Вы правы, тк не предоставляет какого-либо способа получить цвет определенного пикселя на холсте.

...