الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف أحفظ الأشكال التي رسمتها على الفورم

مغلق
بدأه me Genius في 7 نوفمبر 2006 · 5 رد · 542 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله و بركاته

هذا هو موضوعي الثاني بشأن هذا السؤال، فقد أغلق الأول لسبب أجهله تماماً.

عموماً،

أريد كود أو طريقة لحفظ ما رسمته على الفورم من أشكال.

فقد استعملت الحدث Paint لرسم خطوط و مستقيمات و قيم .

فمالحل؟؟؟

و السلام عليكم و رحمة الله و بركاته...

و إذا رأيت نيوب الليث بارزةً ₪₪₪ فلا تظنن الليث يبتسم

For I = 0 To ArabTeam.Members.Count -1
	If Not(ArabTeam.Members(I).LoveArabTeam) Then
		MessageBox.Show("No Body Likes U")
	Else
		MessageBox.Show("U R Welcome!!!")
	End If
Next
#2

إذا كنت تقصد موضوعك بعنوان بعض الأسئلة في الVB.Net 2005, أرجوكم ساعدوني...

لو أنك قرأت قواعد المشاركة فستعرف أنك خالفت العديد منها مثلا:

اقتباس
1 . يجب أن يكون عنوان المشاركة يدل على محتواها

2. ممنوع طرح أكثر من سؤال فى موضوع واحد ليسهل البحث عن المواضيع لاحقا.

3 . ان لا يحتوي على عبارات مثيرة مثل " النجدة " ، "الحقونا " ، " سؤال إلى أهل الخبرة " ، " طلب برنامج "

وقد خالفت أيضا في هذا الموضوع

اقتباس
عدم طرح أي اقتراح بخصوص المنتدى أو شكوى ضد أي مشرف أو عضو علنا ، ولتقديم شكوى يجب مراسلة المشرف اذا كانت الشكوي بخصوص عضو أو إدارة المنتدى اذا كانت الشكوي بخصوص مشرف.

تم تعديل هذه المشاركة بواسطة samerselo في 7 نوفمبر 2006 في 20:03

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#3

السلام عليكم أخي ،،،

يبدو أنك قد فهمت جملتي (هذا هو موضوعي الثاني بشأن هذا السؤال، فقد أغلق الأول لسبب أجهله تماماً.) خطأً.

فقد عنيت أنني أريد معرفة سبب الإغلاق لا أكثر...

و سأحاول الالتزام بما ذكرته من قواعد في ردك.

و أطلب مرة أخرى الجواب على سؤالي.

و السلام عليكم و رحمة الله و بركاته.

و إذا رأيت نيوب الليث بارزةً ₪₪₪ فلا تظنن الليث يبتسم

For I = 0 To ArabTeam.Members.Count -1
	If Not(ArabTeam.Members(I).LoveArabTeam) Then
		MessageBox.Show("No Body Likes U")
	Else
		MessageBox.Show("U R Welcome!!!")
	End If
Next
#4

بالنسبة لجواب سؤالك فعليا لا أدري ما هو الحل الأفضل

هناك عدة أفكار يمكن تطبيقها ولكن لا أدري ما هو الأفضل

- يمكنك انشاء كلاس بالقيم ثم عمل serialize له إلى ملف وعند استعادة قيم الكلاس من الملف ينمنك رسمها مرة ثانية

- يمكن حفظ قيم محددات الرسم في ملف على شكل اعدادات ثم استعادتها من الملف وإعادة رسمها

الفكرة هنا بشكل عام هي حفظ القيم المستخدمة لرسم هذه الأشكال في ملف ثم إعادة رسمها عند استعادة هذه القيم من الملف

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#5

السلام عليكم

هذا الكود المعروض عبارة عن تعديل لكود مطول إليك الرابط

 Dim g As Graphics = Me.CreateGraphics
		g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
		Dim W, H As Integer
		W = Me.Width
		H = Me.Height
		Dim holdBmap As New Bitmap(W, H, g)
		Dim holdGraphics As Graphics = Graphics.FromImage(holdBmap)
		Dim hdl As IntPtr = holdGraphics.GetHdc
		Dim frmhdc As IntPtr = GetWindowDC(Me.Handle)
		BitBlt(hdl, 0, 0, W, H, frmhdc, 0, 0, SRCCOPY)
		holdGraphics.ReleaseHdc(hdl)
		Dim SaveBmap As Bitmap = holdBmap
		SaveBmap.Save("C:\DrawImage.jpeg")
		MsgBox("Drawing has been saved Correctly...")

الـ API كالتالي

 Private Declare Auto Function BitBlt Lib "gdi32.dll" (ByVal hdcDest As IntPtr, ByVal nXDest As Integer, ByVal nYDest As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal hdcSrc As IntPtr, ByVal nXSrc As Integer, ByVal nYSrc As Integer, ByVal dwRop As System.Int32) As Boolean
	Private Const SRCCOPY As Integer = &HCC0020
	Private Declare Auto Function GetWindowDC Lib "user32" Alias "GetWindowDC" (ByVal hwnd As System.IntPtr) As System.IntPtr

بالتوفيق إن شاء الله.

SaveYourDrawingForm.rar

في المثال يتضح المقال

#6

شكراً لك أخي الغملاسي

و إذا رأيت نيوب الليث بارزةً ₪₪₪ فلا تظنن الليث يبتسم

For I = 0 To ArabTeam.Members.Count -1
	If Not(ArabTeam.Members(I).LoveArabTeam) Then
		MessageBox.Show("No Body Likes U")
	Else
		MessageBox.Show("U R Welcome!!!")
	End If
Next

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…