은 QGraphicsView
에 QGraphicsScene
입니다. items(QPoint(x, y))
메서드를 사용하면 주어진 장면 점에서 모든 항목을 검색 할 수 있습니다.
일단이 항목들이 그려지면 이동, 회전 또는 크기 조절이되지 않으므로 모양이 변경되지 않습니다.Qt의 아이템 교차로 정의 된 영역의 색을 지정하십시오.
겹치는 영역의 색만 변경하는 방법이 있는지 알고 싶습니다 (적어도 두 개 이상의 항목이있는 경우).
내 질문을 쓰는 다른 방법은 : 출발점이 주어지면 경계선이 발견 될 때까지 장면의 색을 지정하십시오.
이미지 게시에 대한 평판이 충분하지 않으므로 원하는 결과가 세 개인 예를 here 개 업로드했습니다.
Edit 1 : Nejat의 솔루션은 실제로 두 개의 항목의 모양 내에있는 점을 선택하면 작동하지만 점이 하나의 항목 또는 항목에 속하지 않으면 작동하지 않습니다. (예제를 업로드했습니다. 이 경우 here).
어쩌면 다른 접근 방식을 사용해야합니까? 페인트를 한 후에는 항목을 변경할 필요가 없으므로 "평면/정적"픽셀 지향 솔루션에도 관심이 있습니다. QImage
클래스를 사용할 수 있습니까?
편집 2 : Nejat의 답변이 원래 질문에 맞았습니다. Btw, 내 목적을 위해 나는 QImage
을 사용하여 모든 모양을 그리고 마지막으로 "홍수 채우기"알고리즘을 사용하여 원하는 영역을 채 웁니다.
이 솔루션은 내 설명에서 정보가 부족하여 부분적으로 작동합니다. 나는 "편집 1"에 새로운 정보를 추가했습니다. – diegob
이 솔루션에는 요점이 필요하지 않습니다. 그냥 교차 영역을 가져 와서 브러시로 칠할 수 있습니다. – Nejat
시작점을 사용하여 * Items() * 메서드를 호출하여 그 지점에서 Items 목록을 검색합니다. 그런 다음 솔루션을 사용하여 겹치는 영역을 계산할 수 있습니다. 그러나 편집 (Edit 1 그림에서) 항목 (QPoint p) 메소드를 호출하면 빨간색 영역의 아무 곳에서나 'p'를 사용하여 빈 목록을 반환합니다. 일부 모양을 그릴 때 QImage를 사용할 수 있다고 생각합니까? – diegob