PDA

View Full Version : سوال: فعال کردن و عکس گرفتن از وبکم



amirreza619
شنبه 25 آذر 1391, 21:55 عصر
سلام ..
من یه برنامه چت خوب نوشتم که چت صوتی و نوشتاری رو انجام میده ، فایل هم میتونم ارسال و دریافت کنم
ولی مشکلی که دارم اینه که میخاستم ببینم چجوری میشه با فشردن یک کلید وبکم فعال شده و بدون اینکه در picturebox وبکم نمایش داده شه ( اگه هم بشه اشکالی نداره ! ) از تصویر وبکم عکس بگیره و در یه جای معین ذخیره کنه و ارسال ( که البته فرایند ارسال رو بلدم ! ) کنه ! ( البته در ویژوال ورژن 6 ( VB6 ))
البته نیازی نیس که وبکم رو نشون بده چون سرعت برنامه خیلی گرفته میشه !


یا بطور خلاصه وبکم رو روشن کنه ، عکس بگیره و ذخیره کنه !


و اگه سورسهم بزارین خیلی بیشتر ( :لبخند: ) ممنون میشم ! چون در رابطه با وبکم اصلا هیچیزی نمیدونم :ناراحت:
ممنون :قلب:

بهروز عباسی
شنبه 25 آذر 1391, 22:47 عصر
درود
لینک زیر رو ببین (vb نداشتم تست کنم)
how to capture picture using webcam in vb6.0 (http://www.developerfusion.com/thread/46191/how-to-capture-picture-using-webcam-in-vb60/)

موفق باشی

محسن واژدی
شنبه 25 آذر 1391, 23:58 عصر
سلام علیکم
کامپوننت وجود دارد به نام WIA (Microsoft Windows Image Acquisition Library v2.0) منتشر شده از microsoft که تقریبا همه وب کم ها و اسکنرها رو پشتیبانی میکنه، هم خودکامپوننت و هم راهنمای کاملش در سایت microsoft موجود هست

معرفی کنترل:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms630368%28v=vs.85%29.aspx

دانلود + نمونه پروژه:
http://www.microsoft.com/en-us/download/details.aspx?id=18287

موفق باشید

amirreza619
یک شنبه 26 آذر 1391, 12:32 عصر
متاسفانه نتونستم کار با این کامپوننت رو یاد بگیرم ! لینک پروژه هم خرابه ! :گریه:
انگاری باید پروشمو همینجا رها کنم !
:افسرده:
میشه سورسشو بزارین ؟ ( فک نکنین از اون ادمایی هستم که دنبال هیچی نمیگردم و سورس میخام ! چون واقعا اینبار گیر کردم :عصبانی++:)

amirreza619
پنج شنبه 30 آذر 1391, 15:58 عصر
هر 2 ساعت یکبار رفرش صفحه .
و همچنان منتظر جواب ( سورس :لبخند: ) ...

oYaMaa
جمعه 01 دی 1391, 14:03 عصر
با سلام!
این نمونه که براتون میذارم، قدیمی هست و یک سری مشکلات هم داره، ولی من خودم ازش استفاده ها کردم، امیدوارم به کار شما هم بیاد.
البته اگر جستجو کنید حتما نمونه های بهتری پیدا میکنید، البته جستجو رو به انگلیسی و در سایت های خارجی انجام بدید.

کد های زیر رو داخل ماژول قرار بدید:

Private Declare Function SendMessageAsLong Lib "user32" Alias "SendMessageA (ByVal hWnd As Long,ByVal wMsg As Long,ByVal wParam As Long,ByVal lParam As Long) As Long" ()
Public Const ws_child As Long = &H40000000
Public Const ws_visible As Long = &H10000000
Global Const WM_USER = 1024
Public Const WM_CAP_START As Long = WM_USER
Global Const wm_cap_driver_connect = WM_USER + 10
Global Const wm_cap_set_preview = WM_USER + 50
Global Const WM_CAP_SET_PREVIEWRATE = WM_USER + 52
Global Const WM_CAP_DRIVER_DISCONNECT As Long = WM_USER + 11
Public Const WM_CAP_DLG_VIDEOFORMAT As Long = WM_USER + 41
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Declare Function capCreateCaptureWindow Lib "avicap32.dll" Alias "capCreateCaptureWindowA" (ByVal A As String, ByVal B As Long, ByVal c As Integer, ByVal d As Integer, ByVal e As Integer, ByVal f As Integer, ByVal G As Long, ByVal h As Integer) As Long
Public Const WM_CAP_GET_FRAME As Long = 1084
Public Const WM_CAP_COPY As Long = 1054

و کد های زیر داخل فرم:

Function startcamera()
Dim Temp As Long
hwdc = capCreateCaptureWindow("www.planetcodes.blogspot.com", ws_child Or ws_visible, 0, 0, 500, 400, Picture1.hwnd, 0)
If (hwdc <> 0) Then
Temp = SendMessage(hwdc, wm_cap_driver_connect, 0, 0)
Temp = SendMessage(hwdc, wm_cap_set_preview, 1, 0)
Temp = SendMessage(hwdc, WM_CAP_SET_PREVIEWRATE, 30, 0)
StartCap = True
Else
MsgBox ("No Webcam found")
End If
End Function

Private Sub cmdStartCamera_Click()
Set myPicture = Picture1
startcamera
End Sub

موفق باشید!

mohammadsamadi1377
جمعه 24 خرداد 1392, 16:48 عصر
کسی نظری نداره بندشم