2011-02-25 39 views

回答

5

如果你想所代表的數字你GraphicsPath出現更大,我個人會用一個圖形變換:

using (Graphics graphics = /* ... */) 
{ 
    var matrix = new Matrix(); 
    matrix.Translate(/* ... */); // put the mid-point of the figure here 
    matrix.Scale(1.5f, 1.5f);  // makes it 50% bigger 
    matrix.Translate(/* ... */); // put the same mid-point here, but negative 
    graphics.Transform = matrix; 
    graphics.FillPath(/* ... */); // or DrawPath 

    // Use this to reset the transform if you still need the Graphics object 
    graphics.Transform = new Matrix(); 
} 
+1

順便提一下,您可以使用GraphicsPath的邊界矩形中點獲取中點的近似值。 – 2011-02-25 17:03:35

1

那麼,有GraphicsPath.Widen,但它不是完全一樣的Rectangle.Inflate

基本上,它繪製使用指定筆GraphicsPath輪廓,然後返回你GraphicsPath表示由此繪製的區域。

如果您只想在屏幕上繪製加寬的圖形,則可以始終繪製兩個圖形:首先是「加寬」路徑,然後是原始圖像(用於「填充」)。但話又說回來,你可能只是使用相同的畫筆繪製原始路徑的輪廓......

相關問題