Я работаю с Delphi. У меня есть массив точек, которые продолжаются, как показано на рисунке.
альтернативный текст http://i50.tinypic.com/4zylxl.jpg
Затем я передаю этот массив CreatePolygonRgn и создаю область, скажем, rgn1.
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);