PDA

View Full Version : سوال: گرافیک در vb.net ساده اما عجیب ؟!!!



ArashClever
یک شنبه 21 آذر 1389, 15:25 عصر
باسلام

در ویژوال بیسیک 6 می خواستم نقاشی را که بر روی فرم کشیدم در داخل یک PictureBox قرار دهم می نوشتم

Picture1.Picture = Form1.Image

اما در vb.net می نویسم

PictureBox1.image = Me.BackgroundImage

یا

PictureBox1.BackgroundImage = Me.BackgroundImage


انگار نه انگار

می خواستم بدونم چه طوری می تونم نقاشی را که بر روی فرم انجام میدم با استفاده از کلاس graphics
در vb.net نقاشی را داخل PictureBox بریزم یا بلعکس از PictureBox به Form بریزم با تشکر

Rezahak
یک شنبه 21 آذر 1389, 15:46 عصر
بنویس

PictureBox1.Image = New Bitmap(Me.Bachgroundimage)

ArashClever
یک شنبه 21 آذر 1389, 15:53 عصر
دوست گرامی این کد را هم امتحان کردم اما جواب نداد خودت تست کن می بینی

Rezahak
یک شنبه 21 آذر 1389, 15:58 عصر
ممکنه کدی که نوشتید را بگذارید احتمالا یک جایی اشتباه می کنید مثلا از شیء graphics استفاده کردید و بدون save کردن به عنوان image می خواهید به یک image دیگه اختصاصش بدید یا ....!!!!!

ArashClever
یک شنبه 21 آذر 1389, 18:32 عصر
ممکنه کدی که نوشتید را بگذارید احتمالا یک جایی اشتباه می کنید مثلا از شیء graphics استفاده کردید و بدون save کردن به عنوان image می خواهید به یک image دیگه اختصاصش بدید یا ....!!!!!

بنده در کلاس فرم نوشتم :

Dim G as graohics

و در رویداد فرم لود نوشتم :

G = Me.CreateGraphics

و در یک باتون نوشتم :

G.DrawLine(Pens.Black,0, 0, 100, 100)

و بعد از اجرا شدن فرم روی باتون کلید می کنم یک خط می کشه حالا من می خوام این خط را که روی فرم کشید انتقال بدم به پیکچر باکس نمی خوام این خط را مجددا داخل پیکچر باکس بکشم می خوام یه کپی شو انتقال بدم داخل پیکچر باکس همین اینکار در ویژوال بیسیک 6 خیلی ساده هست فقط با نوشتن این کد انجام می شد

picture1.picture = form1.image


همین



لطفا یکی کمک کنه برای حل این مشگل ممنون می شوم

Rezahak
یک شنبه 21 آذر 1389, 21:16 عصر
دوست عزیزم شما باید کدت رو به شکل زیر بنویسی :

Dim g As Graphics

Me.BackgroundImage = New Bitmap(100, 100, Imaging.PixelFormat.Format24bppRgb)

g = Graphics.FromImage(Me.BackgroundImage)
g.DrawLine(Pens.Blue, 0, 0, 10, 100)


PictureBox1.Image = Me.BackgroundImage

البته می تونی اون رو در FormLoad قرار بدی و بعد به سلیقه خودت تغییرش بدی و درستش کنی
ولی منظورم اینه که مستقیم نمی تونی شیء Graphic را به Image نسبت بدی اول باید ارتباطش را از طریق متد FromImage با Image مورد نظر برقرار کنی