У меня есть Gtk.DrawingArea, где я рисую изображение.
Ниже приведен метод обратного вызова, когда пользователь перемещает мышь вокруг области рисования. Я пытаюсь сделать так, чтобы, удерживая левую кнопку мыши нажатой, изменить цвет пикселей, например, при наведении курсора мыши на белый.
def __on_drawing_area_mouse_motion(self, widget, event):
# If user is holding the left mouse button
if self.__left_mouse_button_hold:
pixbuf = self.__store_dictionary[self.__active_sample_id]['displayed_image']
offset = int(event.y)*pixbuf.get_rowstride() + int(event.x)*pixbuf.get_n_channels()
pixel = pixbuf.get_pixels()[offset]
print(pixel)
pixel = 0
self.__w_drawing_area.queue_draw()
Линия печати (пиксель) печатает пиксельзначение интенсивности, как если бы это было изображение в градациях серого ([0-255]), поэтому я назначаю ему 0.
Значения пикселей печатаются, пока я удерживаю кнопку мыши, но их значение неизменилось. Я думал, что это будет указатель.
Есть идеи?