PDA

View Full Version : رسم دایره



r_s1389@yahoo.com
سه شنبه 30 آبان 1391, 12:02 عصر
سلام
من تو این برنامه ام یک میخوام یک دایره رسم کنم کدش هم اینه:
private void button3_Click(object sender, EventArgs e)
{
Bitmap b = new Bitmap(pictureBox1.Width,pictureBox1.Height);
Graphics g = Graphics.FromImage(b);

for (int i = 0; i < 360; i++)
{
g.DrawLine(new Pen(Brushes.Black),
(float)Math.Cos(Math.PI * i / 180) * 50 + b.Width / 2,
(float)Math.Sign(Math.PI * i / 180) * 50 + b.Height / 2,
(float)Math.Cos(Math.PI * (i - 1) / 180) * 50 + b.Width / 2,
(float)Math.Sin(Math.PI * (i + 1) / 180) * 50 + b.Height / 2);




}
pictureBox1.Image = b;
}
این کد به نظر من درسته ولی خروجی دایره نیست
نمیدونم ایراد کار از کجاست
یه سوال دیگه : میشه کلاسهای به کار رفته در برنامه ام را یکم توضیح بدین
تشکر

farazjalili
سه شنبه 30 آبان 1391, 12:48 عصر
سلام
هر فرم یا کنترل شامل یک ناحیه کاری می شود و برای کشیدن یک شکل ابتدا باید ناحیه کاری آن را مشخص کنید که این کار با کلاس graphic انجام می شه ، اما برای کشیدن دایره من فکر می کنم باید از تابع Drawing.Rectangle استفاده کنی کد زیر رو یه نگاهی بی انداز :
Bitmap b = new Bitmap(pictureBox1.Width, pictureBox1.Height);
System.Drawing.Graphics graphics = Graphics.FromImage(b);
System.Drawing.Rectangle rectangle = new System.Drawing.Rectangle(
50, 100, 150, 120);
graphics.DrawEllipse(System.Drawing.Pens.Black, rectangle);

r_s1389@yahoo.com
سه شنبه 30 آبان 1391, 13:13 عصر
خیلی ممنون
کد شما کار میکنه
ولی ایراد کد من از کجاست؟

r_s1389@yahoo.com
چهارشنبه 01 آذر 1391, 17:47 عصر
کسی بلد نیست