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

إلتقاط صورة من الكاميرا ونسخها إلى مجلد وإظهارها في صندوق صورة

بدأه dot.net2008 في 13 سبتمبر 2011 · 10 رد · 1,746 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لو سمحتك كيف يمكنيي

إلتقاط صورة من الكاميرا ونسخها إلى مجلد وإظهارها في صندوق صورة picture box

ودمتم

#2

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

اخي جرب الكود التالي

 
Imports System.IO





	Public Class FrmCap

	'Create constant using attend in function of DLL file.



	Const CAP As Short = &H400S

	Const CAP_DRIVER_CONNECT As Integer = CAP + 10

	Const CAP_DRIVER_DISCONNECT As Integer = CAP + 11

	Const CAP_EDIT_COPY As Integer = CAP + 30

	Const CAP_SET_PREVIEW As Integer = CAP + 50

	Const CAP_SET_PREVIEWRATE As Integer = CAP + 52

	Const CAP_SET_SCALE As Integer = CAP + 53

	Const WS_CHILD As Integer = &H40000000

	Const WS_VISIBLE As Integer = &H10000000

	Const SWP_NOMOVE As Short = &H2S

	Const SWP_NOSIZE As Short = 1

	Const SWP_NOZORDER As Short = &H4S

	Const HWND_BOTTOM As Short = 1



	Dim iDevice As Integer = 0 ' Normal device ID

	Dim hHwnd As Integer ' Handle value to preview window



	' Declare function from AVI capture DLL.



	Declare Function SendMessage Lib "user32" Alias "SendMessageA" _

	(ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, _

	ByVal lParam As Object) As Integer



	Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Integer, _

	ByVal hWndInsertAfter As Integer, ByVal x As Integer, ByVal y As Integer, _

	ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer



	Declare Function DestroyWindow Lib "user32" (ByVal hndw As Integer) As Boolean



	Declare Function capCreateCaptureWindowA Lib "avicap32.dll" _

	(ByVal lpszWindowName As String, ByVal dwStyle As Integer, _

	ByVal x As Integer, ByVal y As Integer, ByVal nWidth As Integer, _

	ByVal nHeight As Short, ByVal hWndParent As Integer, _

	ByVal nID As Integer) As Integer





	Private Sub OpenForm()

	Dim iHeight As Integer = picCapture.Height

	Dim iWidth As Integer = picCapture.Width



	' Open Preview window in picturebox .

	' Create a child window with capCreateCaptureWindowA so you can display it in a picturebox.



	hHwnd = capCreateCaptureWindowA(iDevice, WS_VISIBLE Or WS_CHILD, 0, 0, 640, _

	480, picCapture.Handle.ToInt32, 0)

	' Connect to device

	If SendMessage(hHwnd, CAP_DRIVER_CONNECT, iDevice, 0) Then



	' Set the preview scale

	SendMessage(hHwnd, CAP_SET_SCALE, True, 0)



	' Set the preview rate in milliseconds

	SendMessage(hHwnd, CAP_SET_PREVIEWRATE, 66, 0)



	' Start previewing the image from the camera

	SendMessage(hHwnd, CAP_SET_PREVIEW, True, 0)



	' Resize window to fit in picturebox

	SetWindowPos(hHwnd, HWND_BOTTOM, 0, 0, picCapture.Width, picCapture.Height, _

	SWP_NOMOVE Or SWP_NOZORDER)

	Else

	' Error connecting to device close window

	DestroyWindow(hHwnd)



	End If

	End Sub



	' Use SendMessage to copy the data to the clipboard Then transfer the image to the picture box.



	Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click

	Dim data As IDataObject

	Dim bmap As Image

	' Copy image to clipboard

	SendMessage(hHwnd, CAP_EDIT_COPY, 0, 0)



	' Get image from clipboard and convert it to a bitmap

	data = Clipboard.GetDataObject()

	If data.GetDataPresent(GetType(System.Drawing.Bitmap)) Then

	bmap = CType(data.GetData(GetType(System.Drawing.Bitmap)), Image)

	picCapture.Image = bmap



	Dim saveFileDialog1 As New SaveFileDialog()

	saveFileDialog1.Filter = "Jpeg Image|*.jpg|Bitmap Image|*.bmp|Gif Image|*.gif"

	saveFileDialog1.Title = "Save an Image File"

	saveFileDialog1.FileName = "Image001"

	saveFileDialog1.ShowDialog()



	' If the file name is not an empty string open it for saving.

	If saveFileDialog1.FileName <> "" Then

	' Saves the Image via a FileStream created by the OpenFile method.

	Dim fs As System.IO.FileStream = CType _

	(saveFileDialog1.OpenFile(), System.IO.FileStream)

	picCapture.Image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg)

	fs.Close()

	End If



	End If

	End Sub



	Private Sub frmcap_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Leave

	' Disconnect from device

	SendMessage(hHwnd, CAP_DRIVER_DISCONNECT, iDevice, 0)

	' close window

	DestroyWindow(hHwnd)

	End Sub





	Private Sub FRMCAP_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

	OpenForm()

	End Sub

	End Class

WindowsApplication1.zip

تم تعديل هذه المشاركة بواسطة VB Helper في 14 سبتمبر 2011 في 09:55

1

.:: Wish to become better and better ::.

#3

رائع شكراً جزيلاً لك ..

#4

الله يعطيك ألف عافية أخي VB Helper كفيت ووفيت كما عهدناك أخي جعلها في ميزان حسناتك

ولكن أخي العزيز هل بالامكان حفظ الصورة مباشرة في مجلد معين بدون FileDialog وكيف يتم ذلك ؟

وفقك الله أخي

تم تعديل هذه المشاركة بواسطة muhedeen في 8 ديسمبر 2011 في 21:52

عن عبد الله بن مسعود رضي الله عنه قال: سألت النبي صلى الله عليه وسلم أي العمل أحب إلى الله عز وجل؟ قال: ( الصلاة على وقتها) قال: ثم أي؟ قال: ( بر الوالدين ) قال ثم أي؟ قال: ( الجهاد في سبيل الله )

302889519.gif

رابط المصحف الرقمي الفلاشي بأكثر من روايات - القرآن الكريم

#5

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

اخي يمكنك ضبط المسار في السطر التالي

picCapture.Image.Save("Image Path", System.Drawing.Imaging.ImageFormat.Jpeg)

تم تعديل هذه المشاركة بواسطة VB Helper في 8 ديسمبر 2011 في 22:57

1

.:: Wish to become better and better ::.

#6

بارك الله فيك أخي VB Helper وفعلاً كما تفضلت احتلت المشكلة أتمنى لك التوفيق وماقصرت

عن عبد الله بن مسعود رضي الله عنه قال: سألت النبي صلى الله عليه وسلم أي العمل أحب إلى الله عز وجل؟ قال: ( الصلاة على وقتها) قال: ثم أي؟ قال: ( بر الوالدين ) قال ثم أي؟ قال: ( الجهاد في سبيل الله )

302889519.gif

رابط المصحف الرقمي الفلاشي بأكثر من روايات - القرآن الكريم

#7

السلام عليكم ..

اخى vbhelper

هل يمكن عمل الكود نفسه لو اريد تخزين بيانات موظفين واريد تخزين اسم الصورة برقم الموظف وحفظها ف مجلد داخل المشروع ؟؟

هل من الممكن هاد ام لا

4429363_max.jpg
#8

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

اختي بالفعل يمكنك خزن بيانات الموظف في قاعدة البيانات مثلا وحفظ الصورة برقم الموظف, وذلك بتغيير اسم الصورة في السطر السابق

.:: Wish to become better and better ::.

#9

شكرا ليك اخى ولكن ياريت تعطينى الخطوات كيف اعملها وشكرا

وعندى استفسار تانى بعد ادنك

مطلوب منى عمل منظومة تعليمية عن جسم الانسان تساعد الاطفال لتعلم كل جزء من جسم الانسان عربى وانجليزى مع وجود بعض الفيدوات وما الى دلك

ياريت لو عندك افكار عن كيفية اصمم الداتا بيز

4429363_max.jpg
#10

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

اختي كما ذكرت سابقا بعد حصولك على رقم الموظف قومي بجعلة اسم الصورة في السطر التالي

picCapture.Image.Save(@"C:\Images\EmployeeID.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)

اما بالنسبة لاستفسارك الاخير, فأرجو بانشاء موضوع جديد

تم تعديل هذه المشاركة بواسطة VB Helper في 10 ديسمبر 2011 في 21:21

.:: Wish to become better and better ::.

#11

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

بارك الله فيك على مساعدتى

4429363_max.jpg

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

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

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

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

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