Как получить значения RGB для QPixmap или пикселя QImage - Qt , PyQt

На основании этого ответа https://stackoverflow.com/a/769221/544721 я сделал следующие значения для печати кода в захваченной области:

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)

12
задан Community 23 May 2017 в 12:16
поделиться