天天看點

python畫布顔色,擷取tkinter畫布的像素顔色

python畫布顔色,擷取tkinter畫布的像素顔色

I'd like to be able to create and interact with a Tkinter Canvas and, at any time, be able to iterate over each of its pixels and get their RGB values.

Setting pixel by pixel is not necessary, just getting. However, methods analogous to Canvas's create_polygon(), create_line(), create_text(), and create_oval() must be available as well for interacting with the image overall.

There are a number of restraints:

Must work with Python 3

Must work with Linux, Mac, and Windows

Must work with libraries that come with Python (no downloads)

The second restraint is mainly the reason I've posted this question when getting the color of pixels on the screen in Python3.x and several other similar questions already exist.

If this is impossible, what is the closest I can get?

解決方案

It's not possible. The canvas doesn't work that way.

If you're not interested in setting, you can use an image rather than a canvas. You can get the value of individual pixels in a PhotoImage.