sAsAn.K
یک شنبه 22 فروردین 1389, 01:55 صبح
سلام دوستان .
میخوام به Setpixel خط و دایره بتونم بکشم ، این برنامه رو نوشتم برای خط ، درست کار نمیده :
Double m, t;
int x1, x2, y1, y2, y;
x1 = Convert.ToInt32(textBox1.Text);
y1 = Convert.ToInt32(textBox2.Text);
x2 = Convert.ToInt32(textBox3.Text);
y2 = Convert.ToInt32(textBox4.Text);
Bitmap bmp = new Bitmap(this.Width, this.Height);
pictureBox1.Image = bmp;
if (x1 > x2)
{
y = x1;
x1 = x2;
x2 = y;
y = y1;
y1 = y2;
y2 = y;
}
m = Convert.ToDouble(y2 - y1) / Convert.ToDouble(x2 - x1);
if (m > 1)
m = 1 / m;
t = x1;
while (t < x2)
{
t += 0.1;
y = Convert.ToInt32((m) * (t - x1) + y1);
bmp.SetPixel(Convert.ToInt32(t), y, Color.Black);
}
میخوام x1،y1 و x2،y2 رو بگیره و خط رسم کنه .
برای رسم خط بدست آوردن شیب لازمه دیگه .
برای دایره هم گفتن اگه بزرگ باشه شاید نقطه های فاصله دار بکشه که اونا رو هم باید با همون دستور های خط بینشون خط کشید .
ممنون میشم کمک کنید .
میخوام به Setpixel خط و دایره بتونم بکشم ، این برنامه رو نوشتم برای خط ، درست کار نمیده :
Double m, t;
int x1, x2, y1, y2, y;
x1 = Convert.ToInt32(textBox1.Text);
y1 = Convert.ToInt32(textBox2.Text);
x2 = Convert.ToInt32(textBox3.Text);
y2 = Convert.ToInt32(textBox4.Text);
Bitmap bmp = new Bitmap(this.Width, this.Height);
pictureBox1.Image = bmp;
if (x1 > x2)
{
y = x1;
x1 = x2;
x2 = y;
y = y1;
y1 = y2;
y2 = y;
}
m = Convert.ToDouble(y2 - y1) / Convert.ToDouble(x2 - x1);
if (m > 1)
m = 1 / m;
t = x1;
while (t < x2)
{
t += 0.1;
y = Convert.ToInt32((m) * (t - x1) + y1);
bmp.SetPixel(Convert.ToInt32(t), y, Color.Black);
}
میخوام x1،y1 و x2،y2 رو بگیره و خط رسم کنه .
برای رسم خط بدست آوردن شیب لازمه دیگه .
برای دایره هم گفتن اگه بزرگ باشه شاید نقطه های فاصله دار بکشه که اونا رو هم باید با همون دستور های خط بینشون خط کشید .
ممنون میشم کمک کنید .