изменение цвета пикселя с помощью setPixel - PullRequest
1 голос
/ 10 июля 2019

У меня есть ч / б изображение, мне нужно редактировать попиксельно.Если пиксель слишком темный, его цвет должен быть изменен на черный.Вот мой код:

    for i in range(width):
        for j in range(height):
            pixel_value = int(hex(self.img.pixel(i, j))[8:], 16)

            if pixel_value < 110:
                self.img.setPixel(i, j, .......)

Итак, проблема в том, что я не знаю, как передать цвет в setPixel ().AFAIK это должно быть что-то вроде

self.img.setPixel(i, j, qRgb(0, 0, 0))

Я использую PyQt5.12.3, и я не знаю, как импортировать qRgb.PyQt5.QtGui имеет только qRgba64.Если qRgba64 также подходит для setPixel (), то как мне передать черный цвет с помощью qRgba64?

1 Ответ

3 голосов
/ 10 июля 2019

Я нахожу проблему, на которую вы указываете, странной, поскольку, если в PyQt5 5.12.3 существует класс qRgb (я также проверял его в PyQt5 5.13.0):

image.setPixel(i, j, QtGui.qRgb(0, 0, 0))

Но в любом случае, если вы хотите использовать setPixelColor () и преобразовать QRgba64 в QColor:

image.setPixelColor(i, j, QtGui.QColor(QtGui.QRgba64.fromRgba(0, 0, 0, 255)))

Или лучше использовать QColor:

image.setPixelColor(i, j, QtGui.QColor(0, 0, 0))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...