我正在與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