2012-04-28 8 views
1

DrawElipseメソッドを使用して2つの円(内側円と外側円)を描画しています。グラフィックペン1の横幅?

私はOuterPenとInnerPenという2つのペンオブジェクトを作成し、InnerPenを使用してOuterPenとInner Circleを使用してOuter Circleを作成しています。

私が直面している問題は、外側のペンのサイズを10pxとすると内側の円と重なり、内側の円が隠れてしまうということです。

内側の円と重ならないように外側のサイズを外側に広げることはできますか?

よろしく、

+1

あなたは厚いエッジを補償するための外側の円の直径を大きくしたことがありますか? –

+1

最後に内側の円を描こうとしましたか? – Brian

+0

ペンの幅を考慮して、円の直径を大きくします。 –

答えて

0

あなたは、たとえば、新しいペンのサイズに比例して外側の円を育てることができます。

private void button1_Click_1(object sender, EventArgs e) 
{ 
    DrawCircles(int.Parse(textBox1.Text)); 
} 

private void DrawCircles(int size) 
{ 
    Bitmap b = new Bitmap(300, 300); 
    using (Graphics g = Graphics.FromImage(b)) 
    { 
     Pen p = new Pen(Brushes.Red, size); 
     Pen p2 = new Pen(Brushes.Blue, 1); 
     g.DrawEllipse(p, 10 - size/2, 10-size/2, 200 + size, 200 + size); 
     g.DrawEllipse(p2, 12, 12, 196, 196); 
     g.Save(); 
    } 
    pictureBox1.Image = b; 
} 
関連する問題