2010-05-01 8 views
0

원하는 것은 레이어가있는 벡터 그리기 프로그램을 만드는 것이지만 투명도/불투명도를 사용하지 않으려면 가장 낮은 레이어에서 가장 높은 레이어까지 각 셰이프를 단일 비트 맵으로 그려야합니다. 채우기 위해 모양을 floodfill 싶어요. 내 문제는 그 다음 채워진 모양이 floodfilled 경우 다음 모양이 조금 겹치고 새 모양의 테두리가 다른 모양과 동일하다는 것입니다. floodfill은 부분적으로 만 채 웁니다. 대상 색상을 사용하는 대신 floodfill의 실제 경계를 찾을 수있는 모양의 좌표가있는 방법이 있습니까? 감사"채우기"채우기

답변

1
플러드 필은 당신이 원하는 ..., 당신은 다음 중 하나를 만들하지 않으면 작동하지 않습니다

:

옵션 1 : 메모리의 다른 부분에서 플러드 필을 사용하여, 다음을 사용하여 모양을 블럭 전송 당신이 원하는 곳으로 가면, 당신은 투명도를 피하기를 원했기 때문에,이 옵션은 일종의 선을 넘었습니다 ... (여전히 나는 그것을 권장합니다. 정말로, 그 픽셀이 있는지 검사한다면 어렵지 않습니다.)

옵션 2 : floodfill을 사용하지 않고도 쉽게 채울 수있는 기본 모양 만 사용하고 시작과 끝 점이 가로결로 채워야합니다. ch 선 모양. 그것은 사각형, 원형을위한 것입니다 ...

옵션 3 : 옵션 2와 같지만 임의의 삼각형을 허용합니다.

옵션 4 : 3과 동일하지만 점 목록을 읽고 여러 직사각형을 사용하여 개체를 구성 할 수 있으므로 임의의 모양 (볼록한 모양도 가능)을 만들 수 있습니다. 그 중 하나는 제대로 구현하기 어렵습니다 (특히 볼록한 모양).