Gambar di atas adalah hasil dari pembuatan aplikasi yang akan kita bahas, baik
Tak usah basa-basi sob langsung aja ke
TKP…
Langkah 1.
Dengan keterangan sebagai berikut :
Label1, Caption : MY WEBCAM
PictureBox, Name :gbrWebcam
CommonDialog, Name :CDialog
CommandButton1, Name :cmdMulai;
Caption : Mulai
CommandButton2, Name :cmdSimpan;
Caption : Simpan
CommandButton3, Name :cmdSetting;
Caption : Setting
CommandButton4, Name :cmdTutup;
Caption : Tutup
Langkah 2.
Jika langkah 1 selesai, tambahkan sebuah
module dantuliskan koding berikut pada module yang soba buat :
Public
Const WS_CHILD As Long = &H40000000
Public Const WS_VISIBLE As Long = &H10000000
Public Const WM_USER As Long = &H400
Public Const WM_CAP_START As Long = WM_USER
Public Const WM_CAP_DRIVER_CONNECT As Long = WM_CAP_START + 10
Public Const WM_CAP_DRIVER_DISCONNECT As Long = WM_CAP_START + 11
Public Const WM_CAP_SET_PREVIEW As Long = WM_CAP_START + 50
Public Const WM_CAP_SET_PREVIEWRATE As Long = WM_CAP_START + 52
Public Const WM_CAP_DLG_VIDEOFORMAT As Long = WM_CAP_START + 41
Public Const WM_CAP_FILE_SAVEDIB As Long = WM_CAP_START + 25
Public Declare Function capCreateCaptureWindow _
Lib "avicap32.dll" Alias "capCreateCaptureWindowA" _
(ByVallpszWindowName As String, ByValdwStyle As Long _
, ByVal X As Long, ByVal Y As Long, ByValnWidth As Long _
, ByValnHeight As Long, ByValhwndParent As Long _
, ByValnID As Long) As Long
Public Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" (ByValhWnd As Long, ByValwMsg As Long _
, ByValwParam As Long, ByReflParam As Any) As Long
Public Const WS_VISIBLE As Long = &H10000000
Public Const WM_USER As Long = &H400
Public Const WM_CAP_START As Long = WM_USER
Public Const WM_CAP_DRIVER_CONNECT As Long = WM_CAP_START + 10
Public Const WM_CAP_DRIVER_DISCONNECT As Long = WM_CAP_START + 11
Public Const WM_CAP_SET_PREVIEW As Long = WM_CAP_START + 50
Public Const WM_CAP_SET_PREVIEWRATE As Long = WM_CAP_START + 52
Public Const WM_CAP_DLG_VIDEOFORMAT As Long = WM_CAP_START + 41
Public Const WM_CAP_FILE_SAVEDIB As Long = WM_CAP_START + 25
Public Declare Function capCreateCaptureWindow _
Lib "avicap32.dll" Alias "capCreateCaptureWindowA" _
(ByVallpszWindowName As String, ByValdwStyle As Long _
, ByVal X As Long, ByVal Y As Long, ByValnWidth As Long _
, ByValnHeight As Long, ByValhwndParent As Long _
, ByValnID As Long) As Long
Public Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" (ByValhWnd As Long, ByValwMsg As Long _
, ByValwParam As Long, ByReflParam As Any) As Long
Untuk Module telah selesai sobat buat
dan lanjutkan pada langkah 3. lanjuuuuuuuttttt soooobbbb......!
Langkah 3.
Dim hCap
As Long
Pada General Declarations
Lanjutkan dengan klik 2x tombol
“Mulai” dan tuliskan koding berikut :
Private
Sub cmdMulai_Click()
hCap = capCreateCaptureWindow("Take a Camera Shot" _
, WS_CHILD Or WS_VISIBLE, 0, 0, gbrWebcam.Width _
, gbrWebcam.Height, gbrWebcam.hWnd, 0)
If hCap<> 0 Then
Call SendMessage(hCap, WM_CAP_DRIVER_CONNECT, 0, 0)
Call SendMessage(hCap, WM_CAP_SET_PREVIEWRATE, 66, 0&)
Call SendMessage(hCap, WM_CAP_SET_PREVIEW, CLng(True), 0&)
End If
End Sub
hCap = capCreateCaptureWindow("Take a Camera Shot" _
, WS_CHILD Or WS_VISIBLE, 0, 0, gbrWebcam.Width _
, gbrWebcam.Height, gbrWebcam.hWnd, 0)
If hCap<> 0 Then
Call SendMessage(hCap, WM_CAP_DRIVER_CONNECT, 0, 0)
Call SendMessage(hCap, WM_CAP_SET_PREVIEWRATE, 66, 0&)
Call SendMessage(hCap, WM_CAP_SET_PREVIEW, CLng(True), 0&)
End If
End Sub
Lanjut lagi…
Klik 2x tombol “Simpan” dan tuliskan
koding berikut :
Private
Sub cmdSimpan_Click()
Dim sFileName As String
Call SendMessage(hCap, WM_CAP_SET_PREVIEW, CLng(False), 0&)
With CDialog
.CancelError = True
.Flags = cdlOFNPathMustExist Or cdlOFNOverwritePrompt
.Filter = "JPEG Picture(*.jpg)|*.jpg|All Files|*.*"
.ShowSave
sFileName = .FileName
End With
Call SendMessage(hCap, WM_CAP_FILE_SAVEDIB, 0&, ByValCStr(sFileName))
DoFinally:
Call SendMessage(hCap, WM_CAP_SET_PREVIEW, CLng(True), 0&)
End Sub
Dim sFileName As String
Call SendMessage(hCap, WM_CAP_SET_PREVIEW, CLng(False), 0&)
With CDialog
.CancelError = True
.Flags = cdlOFNPathMustExist Or cdlOFNOverwritePrompt
.Filter = "JPEG Picture(*.jpg)|*.jpg|All Files|*.*"
.ShowSave
sFileName = .FileName
End With
Call SendMessage(hCap, WM_CAP_FILE_SAVEDIB, 0&, ByValCStr(sFileName))
DoFinally:
Call SendMessage(hCap, WM_CAP_SET_PREVIEW, CLng(True), 0&)
End Sub
Klik 2x tombol “Seting” dan tuliskan
koding berikut :
Private
Sub cmdSeting_Click()
Dim temp As Long
temp = SendMessage(hCap, WM_CAP_DLG_VIDEOFORMAT, 0&, 0&)
End Sub
Dim temp As Long
temp = SendMessage(hCap, WM_CAP_DLG_VIDEOFORMAT, 0&, 0&)
End Sub
Terakhir…
Klik 2x tombol “Tutup” dan silahkan sobat
tulis koding berikut :
Private
Sub cmdTutup_Click()
Dim temp As Long
temp = SendMessage(hCap, WM_CAP_DRIVER_DISCONNECT, 0&, 0&)
Unload Me
End Sub
Dim temp As Long
temp = SendMessage(hCap, WM_CAP_DRIVER_DISCONNECT, 0&, 0&)
Unload Me
End Sub
Sekarang aplikasi siap dijalankan…
Ok Sobat segitu aja dulu pembahasannya.
Oh iya Jangan lupa kunjungi Blog ini Juga yah...
http://indramayucreative.blogspot.com
http://b-i-t-s.blogspot.com
Ok Sobat segitu aja dulu pembahasannya.
Oh iya Jangan lupa kunjungi Blog ini Juga yah...
http://indramayucreative.blogspot.com
http://b-i-t-s.blogspot.com