Я использую qt для разработки простого приложения рисования.Получение индекса пикселей, охватываемого qpen при использовании qpainter на qimage
У меня есть qImage и заполняется как trasparent.
QImage *m_markerImg = new QImage(400,320, QImage::Format_ARGB32_Premultiplied); m_markerImg -> fill(Qt::transparent);
Я создал пользовательские графики сцены, унаследовав его от QGraphicsScene & рисования линии на этом изображении в MouseMove случае графической сцены, как:
QPointF plotPoint = mouseEvent->scenePos(); m_painter.drawLine(m_initPoint,plotPoint); m_initPoint=plotPoint;
где m_initPoint это время назначенный в событии нажатия мыши. Все работает нормально, и я могу рисовать линии над этим изображением. Теперь я хочу сохранить пиксели, охваченные этой строкой во время выполнения, т. Е. Во время рисования линии. Хотя я могу хранить точки, на которых я рисую, т. Е. M_initPoint & plotPoint, но в случае, если penwidth установлен в более чем 1, тогда я получу только один пиксель линии, тогда как мне нужны все пиксели, покрытые шириной этого линия.
Как я могу это получить?
Извините, Куба Обер, но я не знаю, как погладить линию. Не могли бы вы предоставить дополнительную информацию об этом? –
@ShubhamSaini Я связал соответствующую документацию/примеры. –
Спасибо, что посмотрели на проблему, я попробую ваше решение. Пока я решил это, итерации соседних пикселей в окрестности. то есть я запускаю петли на пикселах в окрестности, проверяя их цвет и, если они имеют тот же цвет, что и я, применяемый к ним, я добавляю их в QList. Это решение моей проблемы. –