PDA

View Full Version : نمایش شکل های گرافیکی



Matin_t
یک شنبه 15 بهمن 1385, 00:08 صبح
سلام
من یک کلاس به اسمه Grafic تعریف کردم که شامل متدهای Line , Circle , Rectangle و.... است ولی با نمایشش مشکل دارم یعنی نمی دونم چطوری می تونم از CreateGraphics استفاده کنم تا بعد از کلیک کردن دکمه یLine خط رو برام روی Form بکشه.
اگر راهنماییم کنید خیلی ممنون میشم.

Alireza_Salehi
یک شنبه 15 بهمن 1385, 00:28 صبح
این طوری به آبجکت گرافیکت میتونی بگی کجا بکشه


ِDim gph As Graphics = Graphics.FromHwnd(this.Handle)کلا متهای کلاس گرافیک که با From شروع می شوند برای مرتبط کردن شی گرافیک با محل ترسیم هستند مثلا برای ترسیم روی عکس ، پنجره یا DC ها.

this.Handle هم هندل فرممون رو برمیگردونه.

Neeloofar
یک شنبه 15 بهمن 1385, 01:23 صبح
این طوری به آبجکت گرافیکت میتونی بگی کجا بکشه


ِDim gph As Graphics = Graphics.FromHwnd(this.Handle)کلا متهای کلاس گرافیک که با From شروع می شوند برای مرتبط کردن شی گرافیک با محل ترسیم هستند مثلا برای ترسیم روی عکس ، پنجره یا DC ها.

this.Handle هم هندل فرممون رو برمیگردونه.

شما که تا اینجا زحمت کشیدی.
اینم بگو که تصویر ایجاد شده روی فرم توسط دستور بالا رو چطور میتونیم به عنوان یک فایل ذخیره کنیم؟ (bmp or jpg or ...)

Matin_t
یک شنبه 15 بهمن 1385, 01:50 صبح
حالا اگر من بخوام بنویسم

(gph.Line(xstart, ystart, xend, yend
مثل زمانى که مى خواستم از CreateGraphics استفاده کنم میگه :
'Line' is not a member of 'System.Drawing.Graphics'

چه کارش باید بکنم؟

Alireza_Salehi
یک شنبه 15 بهمن 1385, 08:45 صبح
حالا اگر من بخوام بنویسم

(gph.Line(xstart, ystart, xend, yend
مثل زمانى که مى خواستم از CreateGraphics استفاده کنم میگه :
'Line' is not a member of 'System.Drawing.Graphics'

چه کارش باید بکنم؟

1.این شی Graphics همه اون متد ها رو داره (اول همه اون متد ها Draw داره) مثلا به صورت

gph.DrawLine(...)مرجع متد ها و خواص کلاس گرافیک : Graphics Members (http://msdn2.microsoft.com/en-us/library/system.drawing.graphics_members%28VS.71%29.aspx)

2.برای ذخیره کردن هم همین شی گرافیک رو به یک شی Bitmap مربوط میکنید، این شی متد Save داره که تقریبا اکثر فرمت ها رو میشه باهاش ذخیره کرد.
این تاپیک رو ببینید:http://www.barnamenevis.org/forum/showthread.php?t=60634