PDA

View Full Version : ذخیره خطوط ترسیمی به صورت عکس



مهدی رحیم زاده
سه شنبه 03 اردیبهشت 1387, 22:29 عصر
سلام
چطوری می تونم خطوطی رو که به وسیله این برنامه روی فرم رسم کردم رو به صورت عکس ذخیره کنم.

sinpin
چهارشنبه 04 اردیبهشت 1387, 04:57 صبح
لینک زیر یک مثال ساده است و شاید کمکی کنه :
http://barnamenevis.org/forum/showpost.php?p=467581

مهدی رحیم زاده
پنج شنبه 05 اردیبهشت 1387, 19:31 عصر
لینک زیر یک مثال ساده است و شاید کمکی کنه :
http://barnamenevis.org/forum/showpost.php?p=467581
من نتونستم خطوطی رو که روی فرم رسم می کنم ، ذخیره کنم . میشه یکی کمک کنه و بگه چطور این کار رو بکنم . البته کد آقای Sinpin کاملا واضحه ولی روی این برنامه من جواب نمی ده ، چرا ، نمی دونم . هیچ خطی رو ذخیره نمی کنه .

علیرضا مداح
پنج شنبه 05 اردیبهشت 1387, 20:00 عصر
سلام دوست عزیز
به طور خلاصه شما باید از متد DrawToBitmap مربوط به شیء Form استفاده نمایید ،
یک مثال ساده :


private void Form1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawEllipse(Pens.Black, 10, 10, 50, 50);
if (!System.IO.File.Exists("C:\\test.gif"))
{
Bitmap bitmap = new Bitmap(this.Width , this.Height);
this.DrawToBitmap(bitmap, new Rectangle(0,0,this.Width, this.Height));
bitmap.Save("c:\\test.gif", ImageFormat.Gif);
}
}

مهدی رحیم زاده
پنج شنبه 05 اردیبهشت 1387, 20:02 عصر
من با این کد خطوط رو ذخیره می کنم ، اما موقعی که با ماوس خطوط رو رسم می کنم نشون داده نمیشه ، حالا چکار کنم که بتونم این خطوط رو ببینم .

private void Form1_MouseMove(object sender, MouseEventArgs e)
{
g = Graphics.FromImage(bmp);
if (draw_line_cheker == true)//خط رو رسم می کنه
{
if (status == false)
{
last_point_x = e.X;
last_point_y = e.Y;
status = true;
}
//draw line
g.DrawLine(p, last_point_x, last_point_y, e.X, e.Y);
last_point_x = e.X;
last_point_y = e.Y;
//save lines
bmp.Save("c:\\1.gif");
}
}

مهدی رحیم زاده
پنج شنبه 05 اردیبهشت 1387, 20:19 عصر
حل شد ، یک آبجکت دیگه از اون Graphic ایجاد کردم و مشکل حل شد .