تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] كيف ألتقط صورة من الكامرة إلى البكتشر بكس
#2
السلام عليكم 
اخذت كوبي من الفورم لضيق وقتي فقط 
كود :
Public Class Form1
   Const WM_CAP As Short = &H400S
   Const WM_CAP_DRIVER_CONNECT As Integer = WM_CAP + 10
   Const WM_CAP_DRIVER_DISCONNECT As Integer = WM_CAP + 11
   Const WM_CAP_EDIT_COPY As Integer = WM_CAP + 30
   Const WM_CAP_SET_PREVIEW As Integer = WM_CAP + 50
   Const WM_CAP_SET_PREVIEWRATE As Integer = WM_CAP + 52
   Const WM_CAP_SET_SCALE As Integer = WM_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
   Dim hHwnd As Integer
   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
   Declare Function capGetDriverDescriptionA Lib "avicap32.dll" (ByVal wDriver As Short, ByVal lpszName As String, ByVal cbName As Integer, ByVal lpszVer As String, ByVal cbVer As Integer) As Boolean

   Private Sub LoadDeviceList()
       Dim strName As String = Space(100)
       Dim strVer As String = Space(100)
       Dim bReturn As Boolean
       Dim x As Integer = 0
       Do
           bReturn = capGetDriverDescriptionA(x, strName, 100, strVer, 100)
           If bReturn Then lstDevices.Items.Add(strName.Trim)
           x += 1
       Loop Until bReturn = False
   End Sub

   Private Sub OpenPreviewWindow()
       Dim iHeight As Integer = picCapture.Height
       Dim iWidth As Integer = picCapture.Width
       hHwnd = capCreateCaptureWindowA(iDevice, WS_VISIBLE Or WS_CHILD, 0, 0, 640, 480, picCapture.Handle.ToInt32, 0)
       If SendMessage(hHwnd, WM_CAP_DRIVER_CONNECT, iDevice, 0) Then
           SendMessage(hHwnd, WM_CAP_SET_SCALE, True, 0)
           SendMessage(hHwnd, WM_CAP_SET_PREVIEWRATE, 66, 0)
           SendMessage(hHwnd, WM_CAP_SET_PREVIEW, True, 0)
           SetWindowPos(hHwnd, HWND_BOTTOM, 0, 0, picCapture.Width, picCapture.Height, SWP_NOMOVE Or SWP_NOZORDER)
           btnSave.Enabled = True
           btnStop.Enabled = True
           btnStart.Enabled = False
       Else
           DestroyWindow(hHwnd)
           btnSave.Enabled = False
       End If
   End Sub

   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
       SendMessage(hHwnd, WM_CAP_EDIT_COPY, 0, 0)
       data = Clipboard.GetDataObject()
       If data.GetDataPresent(GetType(System.Drawing.Bitmap)) Then
           bmap = CType(data.GetData(GetType(System.Drawing.Bitmap)), Image)
           picCapture.Image = bmap
           ClosePreviewWindow()
           btnSave.Enabled = False
           btnStop.Enabled = False
           btnStart.Enabled = True
           If sfdImage.ShowDialog = DialogResult.OK Then
               bmap.Save(sfdImage.FileName, Imaging.ImageFormat.Bmp)
           End If
       End If
   End Sub

   Private Sub ClosePreviewWindow()
       SendMessage(hHwnd, WM_CAP_DRIVER_DISCONNECT, iDevice, 0)
       DestroyWindow(hHwnd)
   End Sub

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

   Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
       OpenPreviewWindow()
       btnStart.Enabled = False
       btnStop.Enabled = True
   End Sub

   Private Sub btnStop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStop.Click
       ClosePreviewWindow()
       btnStart.Enabled = True
       btnStop.Enabled = False
   End Sub
End Class
microsoft partner
Team administrator
MCPD,MCITP,OCP,MP,MCC
Xprema Systems
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
RE: كيف ألتقط صورة من الكامرة إلى البكتشر بكس - بواسطة smss - 04-02-15, 05:35 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  إدراج صورة الموظف من خلال رابط في حقل من قاعدة البيانات saud1004 4 541 13-12-24, 04:48 AM
آخر رد: saud1004
Lightbulb [سؤال] تحويل صورة الى ملف Pdf ackore 8 766 27-09-24, 07:51 PM
آخر رد: محمد مسافر
  اضافة صورة مخزنة في قاعدة البيانات sql الى الكريستال ريبورت صالح عبدالله 3 463 24-09-24, 09:52 AM
آخر رد: صالح عبدالله
  [كود] كود عند اختيار صورة في فورم تسمع في فورم اخري Mostafa201255411 0 246 13-09-24, 09:20 PM
آخر رد: Mostafa201255411
  التعامل مع موقع ويب لجلب صورة لالفيجوال بيزك صبري زينوبي 3 444 09-09-24, 11:22 PM
آخر رد: Taha Okla
  ماهي طريقة تحويل ملف pdf الى صورة جيولوجي مبتدئ 3 562 12-07-24, 09:22 PM
آخر رد: atefkhalf2004
  [VB.NET] تحويل pdf الى صورة بدون استخدام الاكروبات بأستخدام adobe reader العادى فقط AhmedNagib 1 1,180 11-07-24, 01:16 PM
آخر رد: تركي الحلواني
  [سؤال] رفع صورة لاستضافة أون لاين .أغلب الأكواد لا تعمل لنفس السبب dr.programming 1 319 08-05-24, 11:50 AM
آخر رد: dr.programming
  مشكلة فى Radiobutton عند وضع صورة فيه أبو جودة 3 446 15-04-24, 04:31 AM
آخر رد: Taha Okla
  تعديل كود ارسال صورة الى الواتس new_programer 2 587 21-03-24, 10:07 PM
آخر رد: new_programer

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم