2016-08-01 11 views
1

간단한 그리기 응용 프로그램을 개발하는 데 qt를 사용하고 있습니다.qimage에서 qpainter를 사용하는 동안 qpen에서 픽셀 인덱스를 얻는 방법

나는 qImage를 가지고 있으며 trasparent로 채 웁니다.

QImage *m_markerImg = new QImage(400,320, QImage::Format_ARGB32_Premultiplied); m_markerImg -> fill(Qt::transparent);

I는 그래픽 장면에서 mousemove 이벤트에서이 이미지에 선 그리기 qgraphicsscene &에서 상속하여 사용자 정의 그래픽 장면을 만들었습니다

QPointF plotPoint = mouseEvent->scenePos(); m_painter.drawLine(m_initPoint,plotPoint); m_initPoint=plotPoint;

m_initPoint가되고있다 마우스 누름 이벤트에서 지정됩니다. 모든 것이 잘 작동하고 있으며이 이미지 위에 선을 그릴 수 있습니다. 이제는이 선으로 덮여있는 픽셀을 런타임에 즉 선 그리기 중에 저장하려고합니다. 비록 드로잉 할 지점을 저장할 수는 있지만, m_initPoint & plotPoint이지만 penwidth가 1 이상으로 설정된 경우에는이 라인의 너비만큼 덮힌 픽셀 전체가 필요하지만 단 한 줄의 픽셀 만 가져옵니다. 선.

어떻게받을 수 있습니까?

답변

0

당신이 필요합니다,

  1. 이 경로에 라인을 변환
  2. QPainterPathStroker를 사용하여 경로 (도 this example 참조)
  3. 뇌졸중,
  4. 다각형으로 쓰다 패스를 취득,
  5. 스캔 전체 예제를 보려면 this question을 참조하십시오.
+0

죄송합니다. 쿠바 오버.하지만 선을 획 처리하는 방법을 모르겠습니다. 그것에 대해 더 많은 정보를 제공해 주시겠습니까? –

+0

@ShubhamSaini 관련 문서/예제를 링크했습니다. –

+0

문제를 조사해 주셔서 감사합니다. 귀하의 솔루션을 시험해 보겠습니다. 지금은 주변의 인근 픽셀을 반복하여 해결했습니다. 즉, 주변의 픽셀에 대해 루프를 실행하여 색상을 확인하고 해당 색상이 적용된 색상과 동일한 색상을 QList 에 추가 할 것입니다. 내 문제를 해결하고있다. –