PDA

View Full Version : سوال از یک پروژه paint



haamidd
شنبه 03 خرداد 1393, 12:34 عصر
سلام دوستان.
من یک برنامه کوچیک paint نوشتم....
سوالم اینجاست که وقتی ماوس رو اروم روی برگه میکشم هیچ مشکلی نیست ولی وقتی ماوس رو تند تند روی صفحه میکشم دیگه خط کشیده نمیشه و نقطه نقطه میشه!
نگاه کنید...
119427


اینم کد های قسمت رسم خط:

private void picboxPaper_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
PenBrsh = new SolidBrush(picboxFore.BackColor);
if (ShapeType == "Circle")
paper.FillEllipse(PenBrsh, e.X, e.Y, ShapeSize, ShapeSize);
else if (ShapeType == "Rectangle")
paper.FillRectangle(PenBrsh, e.X, e.Y, ShapeSize, ShapeSize);
}
else if (e.Button == MouseButtons.Right)
{
PenBrsh = new SolidBrush(picboxBack.BackColor);
if (ShapeType == "Circle")
paper.FillEllipse(PenBrsh, e.X, e.Y, ShapeSize, ShapeSize);
else if (ShapeType == "Rectangle")
paper.FillRectangle(PenBrsh, e.X, e.Y, ShapeSize, ShapeSize);
}


picboxPaper.Refresh();
}

Davidd
شنبه 03 خرداد 1393, 12:51 عصر
دوست عزيز شما به جاي اينكه در هر رخداد حركت موس يك دايره رسم كني، يك خط از مختصات قبلي موس به مختصات فعلي رسم كن تا اين مشكل بوجود نياد. بنابراين يك متغير Point براي نگهداري مختصات قبلي موس تعريف كن و در انتهاي رخداد حركت موس مقدارشو بروز كن. فقط بايد حواست باشه كه اين متغير در ابتداي حركت يعني زماني كه موس فشار داده ميشه مقدار بگيره (چون يا مقدار نداره و يا برابر با آخرين نقطه خطي كه قبلا رسم شده، هست).