سلام بفرمائید:
dc.png
int w = 2;
int radius = 100;
int distance = 10;
int radius2 = radius - distance;
Bitmap b = new Bitmap(pictureBox1.Width, pictureBox1.Height);
Graphics g = Graphics.FromImage(b);
g.FillRectangle(Brushes.White, 0, 0, b.Width, b.Height);
//
int deg1 = 60;
int deg2 = 30;
float rad1 = (float)(Math.PI * deg1 / 180);
float rad2 = (float)(Math.PI * deg2 / 180);
float x1 = radius2 * (float)Math.Abs(Math.Cos(rad1)), y1 = b.Height - radius2 * (float)Math.Abs(Math.Sin(rad1));
float x2 = radius * (float)Math.Abs(Math.Cos(rad1)), y2 = b.Height - radius * (float)Math.Abs(Math.Sin(rad1));
float x3 = radius2 * (float)Math.Abs(Math.Cos(rad2)), y3 = b.Height - radius2 * (float)Math.Abs(Math.Sin(rad2));
float x4 = radius * (float)Math.Abs(Math.Cos(rad2)), y4 = b.Height - radius * (float)Math.Abs(Math.Sin(rad2));
g.DrawArc(new Pen(Brushes.Blue, distance), -radius + distance / 2, b.Height - radius + distance / 2, radius * 2 - distance, radius * 2 - distance, 10, -110);
g.DrawArc(new Pen(Brushes.LightBlue, distance), -radius + distance / 2, b.Height - radius + distance / 2, radius * 2 - distance, radius * 2 - distance, -(deg2), (deg2 - deg1));
g.DrawLine(new Pen(Brushes.Black, w), x1, y1, x2, y2);
g.DrawLine(new Pen(Brushes.Black, w), x3, y3, x4, y4);
g.DrawEllipse(new Pen(Brushes.Black, w), -radius, b.Height - radius, radius * 2, radius * 2);
g.DrawEllipse(new Pen(Brushes.Black, w), -radius2, b.Height - radius2, radius2 * 2, radius2 * 2);
pictureBox1.Image = b;
پروژه: