Основываясь на этом ответе qaru.site/info/80904/..., я сделал следующие значения для печати кода в захваченной области:
import sys
from PyQt4.QtGui import QPixmap, QApplication
app = QApplication(sys.argv)
# img is QImage type
img = QPixmap.grabWindow(
QApplication.desktop().winId(),
x=00,
y=100,
height=20,
width=20,
).toImage()
for x in range(0,20):
for y in range(0,20):
print( "({},{}) = {}".format( x,y,(img.pixel(x,y)) ) )
Но пиксели отображаются следующим образом:
(0,0) = 4285163107
(0,1) = 4285163107
(0,2) = 4285163107
(0,3) = 4285163107
(0,4) = 4285163107
(0,5) = 4285163107
Как получить значения RGB QImage
(полученные из QPixmap
) пикселей? (предпочтительно, решение, работающее в 16,24,32 глубинах экрана)?
Пример вывода:
(0,0) = (0,0,0)
...
(10,15) = (127,15,256)
(решение для Linux, написанное на Python3)