PDA

View Full Version : سوال: پیاده سازی نرم افزاری مشابه Paint ویندوز



hadikhani
جمعه 28 فروردین 1394, 12:24 عصر
سلام من باید برای پروژه درس گرافیک نرم افزاری شبیه paint بسازم که قابلیت رسم اشکالی مانند خط دایره مربع مثلث و بیضی رو داشته باشه و اندازه رنگ و حاشیه باید توسط کاربر تعیین بشه.
با کد زیر تونستم خط رو بکشم اما هرکاری کردم نتونستم حاشیه رو به Dashed , Dotted تغییر بدم.


void Draw_line(int x_1, int y_1, int x_2, int y_2)
{
pictureBox1.Image = bmp;


int x1 = x_1;
int y1 = y_1;
int x2 = x_2;
int y2 = y_2;


if (x1 > x2)
{
x1 = x_2;
y1 = y_2;
x2 = x_1;
y2 = y_1;
}


float dx = (x2 - x1);
float dy = (y2 - y1);
int steps = (int)dy;
if (dx > dy)
steps = (int)dx;
float x_inc = (dx / (float)steps);
float y_inc = (dy / (float)steps);
float x = x1;
float y = y1;
bmp.SetPixel(Convert.ToInt32(x), Convert.ToInt32(y), Color.Black);
for (int count = 1; count <= steps; count++)
{
x += x_inc;
y += y_inc;
bmp.SetPixel(Convert.ToInt32(x), Convert.ToInt32(y), Color.Black);
}
}

hadikhani
جمعه 28 فروردین 1394, 20:18 عصر
ببخشید کسی نیست راهنماییم کنه؟

hoseinharami
جمعه 28 فروردین 1394, 20:30 عصر
سلام
میشه دقیق بگی چه مشکلی پیش میاد؟
الان VS روی این کامپیوتر ندارم که چک کنم

در حال انتظار ...

hadikhani
جمعه 28 فروردین 1394, 20:49 عصر
سلام
میشه دقیق بگی چه مشکلی پیش میاد؟
الان VS روی این کامپیوتر ندارم که چک کنم
چطور برای خطی که از طریق این دستور رسم میشه Border تعیین کنم مثلا Dashed(خط چین).

hoseinharami
جمعه 28 فروردین 1394, 20:58 عصر
اولا که بهتره از یک دستور که خود C# داره استفاده کنی
در این تابعی که نوشتی ابتدا یک Counter بزار که وقتی برای مثال 1 سانتی متر خط کشید ، برای یک سانتی متر دیگر خط نکشه
مثلا X رو *10 کن که از X*10 شروع کنه به کشیدن
سعی کن انجامش بدی اگر نتونستی فردا به احتمال زیاد برات می زارمش
خداحافظ