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

كود للعرض من الكميرا

مغلق
بدأه halwa في 25 أبريل 2006 · 1 رد · 733 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم.

هذا الكزد مخصص للعرض من الكميرا.

اولاً الادوات زر واحد فقط

ثانياً الكود:-

اولاً ضع هذا الكود في قسم التعاريف

Inherits System.Windows.Forms.Form
    'Konstante
    Private Const WM_USER As Short = &H400S
    Private Const WS_CHILD As Integer = &H40000000
    Private Const WS_VISIBLE As Integer = &H10000000
    Private Const WM_CAP_DRIVER_CONNECT As Integer = WM_USER + 10
    Private Const WM_CAP_DRIVER_DISCONNECT As Integer = WM_USER + 11
    Private Const WM_CAP_SET_PREVIEW As Integer = WM_USER + 50
    Private Const WM_CAP_SET_PREVIEWRATE As Integer = WM_USER + 52
    'API funkcije
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Short, ByVal lParam As String) As Integer
    Private 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

    ';;;;;;;;;;;;;;

    Dim bSnima As Boolean = False

    Private hHwnd As Integer
    Private lwndC As Integer

    Private FPS As Integer = 15
    Private Visina As Integer = 343
    Private Sirina As Integer = 360
    Private Uredaj As String

ثانياً اكتب هذه الاوامر في كود الزر

[cdoe]

If bSnima Then

Prestani()

Application.DoEvents()

Else

PostaviCam(Me.Handle.ToInt32)

End If

ثانياً

اكتب هذا الكود في مكان لوحده

Private Function Postavi() As Boolean

If SendMessage(hHwnd, WM_CAP_DRIVER_CONNECT, CShort(Uredaj), CType(0, String)) = 1 Then

SendMessage(hHwnd, WM_CAP_SET_PREVIEWRATE, CShort(FPS), CType(0, String))

SendMessage(hHwnd, WM_CAP_SET_PREVIEW, 1, CType(0, String))

bSnima = True

Return True

Else

bSnima = False

Return False

End If

End Function

Public Function Prestani() As Boolean

If bSnima Then

Prestani = CBool(SendMessage(hHwnd, WM_CAP_DRIVER_DISCONNECT, 0, CType(0, String)))

bSnima = False

End If

End Function

Public Sub PostaviCam(ByVal parentH As Integer)

If bSnima = True Then

MessageBox.Show("Kamera je vec ukljucena")

Exit Sub

Else

hHwnd = capCreateCaptureWindowA(Uredaj, WS_VISIBLE Or WS_CHILD, 0, 0, Sirina, CShort(Visina), parentH, 0)

If Postavi() = False Then

MessageBox.Show("i cant show the image form camera")

End If

End If

End Sub

[/cdoe]

my new site click here

#2

رائع أخي شكرا لك

و لكن هل هناك طريقة لجعل الصورة تكون في مربع صورة picturebox لأن البرنامج يستعمل الخاصية hHwnd للفورم و picturebox لايملك هذه الخاصية في الدوت نت

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

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