나는 델파이와 일하고있다. 나는 이미지에서 보여지는 것과 같이 계속되는 점들의 배열을 가지고있다.CreatePolygonRgn과의 혼동
alt text http://i50.tinypic.com/4zylxl.jpg
은 그 때 나는 rgn1 말 CreatePolygonRgn이 배열을 제공하고 지역을 만들 수 있습니다.
rgn1 := CreatePolygonRgn(tmpary1[0],Count,WINDING);
는 다음 나는 지역을 입력하고 그림과 같이 내 TImage의 컨트롤을 보여줍니다. 문제는 왼쪽에서부터 포인트가 지역에서도 다루어 지지만 오른쪽에서부터 배열의 포인트는 다루지 않습니다. 이것은 이미지에서 왼쪽의 녹색 테두리가 표시되지 않지만 오른쪽 테두리가 표시되는 것을 볼 수 있습니다. 나는 어딘가에서 착각하고 있는가 ??? 제 질문이 명확하지 않으면 질문하십시오.
감사합니다.
편집 :
for cnt := 0 to Count - 1 do begin
p1 := imgmain.Picture.Bitmap.ScanLine[tmpary[cnt].Y];
p1[tmpary[cnt].X].rgbtBlue := 0;
p1[tmpary[cnt].X].rgbtGreen := 255;
p1[tmpary[cnt].X].rgbtRed := 0;
end;
rgn1 := CreatePolygonRgn(tmpary1[0],tmpseq1.Count,WINDING);
imgmain.Picture.Bitmap.Canvas.Brush.Color := clRed;
FillRgn(imgmain.Picture.Bitmap.Canvas.Handle,rgn1,imgmain.Picture.Bitmap.Canvas.Brush.Handle);
녹색 윤곽선을 그리고 빨간색 채우기를 그릴 곳을 보여주는 코드를 보여줍니다. 나는 녹색 윤곽선보다 왼쪽으로 한 픽셀을 채우는 붉은 색을 그리는 것으로 생각합니다. –
@The_Fox updated ... – Himadri