2017-04-06 50 views
1

我試圖畫一個簡單的圓圈使用Delphi 7Canvas,我懷疑我是否想要做什麼是可能的。德爾福7 - 使用畫布繪製與透明的核心圈

如下面的圖像,我想畫一個圓沒有核心/中心:

Core transparent Pie

隨着傑裏道奇建議:

enter image description here

  • 我不不需要紅色部分,只需要藍色部分。使用

代碼:

Canvas.Brush.Style := bsClear; 
Canvas.Pen.Style := psSolid; 
Canvas.Pen.Color := clGreen; 
Canvas.Pen.Width := 20; 
Canvas.Pie(X1, Y1, X2, Y2, X3, Y3, X4, Y4); 

舊信息:

背景圖像是一個簡單的TImage分量和予使用此命令繪製圓圈:

Canvas.Brush.Color := clgreen; 
Canvas.Pie(X1, Y1, X2, Y2, X3, Y3, X4, Y4); 

可能嗎?


湯姆布倫伯格和傑裏道奇求助後解決!

結果:

tom


感謝所有幫助!

+0

首先將其繪製到單獨的畫布上,最常用的是「TBitmap」,然後將該位圖繪製到具有透明度的最終畫布上。 –

+1

另外,爲什麼使用Pie來完成這個任務?爲什麼不用「橢圓」? –

+2

或者也許你可以使用高筆寬度,例如'Canvas.Pen.Width:= 100;'然後不填充'Canvas.Brush.Style:= bsClear;'這可能會更容易,以及更好執行。 –

回答

3

我可以想到一些方法來做到這一點,但最簡單的方法是使用沒有填充的大筆寬。例如...

Canvas.Brush.Style := bsClear; 
Canvas.Pen.Style := psSolid; 
Canvas.Pen.Color := clGreen; 
Canvas.Pen.Width := 50; 
Canvas.Pie(X1, Y1, X2, Y2, X3, Y3, X4, Y4); 

在你的情況然而,Pie不是正確的做法,因爲它也將留在中間線。您將不得不使用Arc