我正在与德尔福合作。我有一个点数组,如图所示。
然后我将此数组提供给 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);