我正在与delphi合作。我有一组点,它们继续显示在图像中。与CreatePolygonRgn混淆
alt text 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);
显示一些代码,您可以在其中绘制绿色轮廓以及绘制红色填充的位置。我认为你正在绘制比绿色轮廓更多的左侧一个像素的红色。 – 2010-06-25 06:47:30
@The_Fox更新... – Himadri 2010-06-25 06:55:50