Saturday 4 July 2015

VB.NET :: Cara membuat webcam di vb.net


Create a New Project

Create a new WinForms project
  1. File -> New Project
  2. Templates -> Visual Basic -> Windows Forms Application
winform webcam project

Add the Dynamic .NET TWAIN Framework

Add reference to the project
  1. Right click on the project root -> Add Reference
  2. Click Browse to add the relevant library
twain library
Add the Dynamic .NET TWAIN component to the Toolbox
  1. Right click on the Toolbox panel -> Choose Items
  2. .NET Framework component -> Click Browse to add the relevant library (DynamicDotNetTWAIN.dll)
  3. Check DynamicDotNetTwain
twain component

Create the User Interface


webcam UI

Select Webcams


1
2
3
4
5
6
7
8
9
10
11
12
13
Try
 
     dynamicDotNetTwain1.SelectSource() ‘ select source
     Dim en As EnumSupportedDeviceType
     en = dynamicDotNetTwain1.SupportedDeviceType
 
     dynamicDotNetTwain1.IfShowUI = True
     dynamicDotNetTwain1.SetVideoContainer(Me.pictureBox1) ‘ display preview in PictureBox
 
     dynamicDotNetTwain1.OpenSource() ‘ make source work
 Catch exp As Exception
     MessageBox.Show(exp.Message)
 End Try
twain webcam source

webcam preview display

Acquire Image


1
2
3
4
5
6
Try
    dynamicDotNetTwain1.IfThrowException = True
    dynamicDotNetTwain1.EnableSource() ‘ acquire image
Catch exp As Exception
    MessageBox.Show(exp.Message)
End Try
acquire image

Remove the Image


1
dynamicDotNetTwain1.RemoveAllImages() ‘ remove image

Save the Image


1
2
3
4
5
6
If dlgFileSave.ShowDialog() = Windows.Forms.DialogResult.Cancel Then ‘ call system dialog
    Exit Sub
End If
strFileName = dlgFileSave.FileName ‘ get file name from dialog
dynamicDotNetTwain1.SaveAsBMP(strFileName, dynamicDotNetTwain1.CurrentImageIndexInBuffer)
‘ save image to disk


VB.NET :: membuat Web cam dengan vb.net



This sample shows how to display the incoming video from a webcam in a picturebox. It will display a list of avaliable devices and allow you to capture an image and save it. It uses the CapCreateCaptureWindow api. This sample requires a listbox lstDevices, picturebox picCapture, 4 buttons (btnStart, btnSave, btnStop, btnInfo), and a Save File Dialog sfdImage.
Imports System.Runtime.InteropServices
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
    Public Const WM_CAP_GET_STATUS As Integer = WM_CAP + 54
    Public Const WM_CAP_DLG_VIDEOFORMAT As Integer = WM_CAP + 41
    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
    Private DeviceID As Integer = 0 ' Current device ID
    Private hHwnd As Integer ' Handle to preview window
    Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
        (ByVal hwnd As IntegerByVal wMsg As IntegerByVal wParam As Integer, _
        ByRef lParam As CAPSTATUSAs Boolean
    Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
       (ByVal hwnd As IntegerByVal wMsg As IntegerByVal wParam As Boolean, _
       ByRef lParam As IntegerAs Boolean
    Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
         (ByVal hwnd As IntegerByVal wMsg As IntegerByVal wParam As Integer, _
         ByRef lParam As IntegerAs Boolean
    Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Integer, _
        ByVal hWndInsertAfter As IntegerByVal x As IntegerByVal y As Integer, _
        ByVal cx As IntegerByVal cy As IntegerByVal wFlags As IntegerAs Integer

    Declare Function DestroyWindow Lib "user32" (ByVal hndw As IntegerAs Boolean
    Structure POINTAPI
        Dim x As Integer
        Dim y As Integer
    End Structure
    Public Structure CAPSTATUS
        Dim uiImageWidth As Integer                    '// Width of the image
        Dim uiImageHeight As Integer                   '// Height of the image
        Dim fLiveWindow As Integer                     '// Now Previewing video?
        Dim fOverlayWindow As Integer                  '// Now Overlaying video?
        Dim fScale As Integer                          '// Scale image to client?
        Dim ptScroll As POINTAPI                    '// Scroll position
        Dim fUsingDefaultPalette As Integer            '// Using default driver palette?
        Dim fAudioHardware As Integer                  '// Audio hardware present?
        Dim fCapFileExists As Integer                  '// Does capture file exist?
        Dim dwCurrentVideoFrame As Integer             '// # of video frames cap'td
        Dim dwCurrentVideoFramesDropped As Integer     '// # of video frames dropped
        Dim dwCurrentWaveSamples As Integer            '// # of wave samples cap'td
        Dim dwCurrentTimeElapsedMS As Integer          '// Elapsed capture duration
        Dim hPalCurrent As Integer                     '// Current palette in use
        Dim fCapturingNow As Integer                   '// Capture in progress?
        Dim dwReturn As Integer                        '// Error value after any operation
        Dim wNumVideoAllocated As Integer              '// Actual number of video buffers
        Dim wNumAudioAllocated As Integer              '// Actual number of audio buffers
    End Structure
    Declare Function capCreateCaptureWindowA Lib "avicap32.dll" _
         (ByVal lpszWindowName As StringByVal dwStyle As Integer, _
         ByVal x As IntegerByVal y As IntegerByVal nWidth As Integer, _
         ByVal nHeight As ShortByVal hWndParent As Integer, _
         ByVal nID As IntegerAs Integer
    Declare Function capGetDriverDescriptionA Lib "avicap32.dll" (ByVal wDriver As Short, _
        ByVal lpszName As StringByVal cbName As IntegerByVal lpszVer As String, _
        ByVal cbVer As IntegerAs Boolean
    Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        LoadDeviceList()
        If lstDevices.Items.Count > 0 Then
            btnStart.Enabled = True
            lstDevices.SelectedIndex = 0
            btnStart.Enabled = True
        Else
            lstDevices.Items.Add("No Capture Device")
            btnStart.Enabled = False
        End If
        Me.AutoScrollMinSize = New Size(100, 100)
        btnStop.Enabled = False
        btnSave.Enabled = False
        btnInfo.Enabled = False
        picCapture.SizeMode = PictureBoxSizeMode.StretchImage
    End Sub
    Private Sub LoadDeviceList()
        Dim strName As String = Space(100)
        Dim strVer As String = Space(100)
        Dim bReturn As Boolean
        Dim x As Short = 0
        
        ' Load name of all avialable devices into the lstDevices
        '
        Do
            '
            '   Get Driver name and version
            '
            bReturn = capGetDriverDescriptionA(x, strName, 100, strVer, 100)
            '
            ' If there was a device add device name to the list
            '
            If bReturn Then lstDevices.Items.Add(strName.Trim)
            x += CType(1, Short)
        Loop Until bReturn = False
    End Sub

    Private Sub OpenPreviewWindow()
        Dim iHeight As Integer = picCapture.Height
        Dim iWidth As Integer = picCapture.Width
        '
        ' Open Preview window in picturebox
        '
        hHwnd = capCreateCaptureWindowA(DeviceID.ToString, WS_VISIBLE Or WS_CHILD, 0, 0, 1280, _
            1024, picCapture.Handle.ToInt32, 0)
        '
        ' Connect to device
        '
        If SendMessage(hHwnd, WM_CAP_DRIVER_CONNECT, DeviceID, 0) Then
            '
            'Set the preview scale
            '
            SendMessage(hHwnd, WM_CAP_SET_SCALE, True, 0)

            '
            'Set the preview rate in milliseconds
            '
            SendMessage(hHwnd, WM_CAP_SET_PREVIEWRATE, 66, 0)

            '
            'Start previewing the image from the camera
            '
            SendMessage(hHwnd, WM_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)

            btnSave.Enabled = True
            btnStop.Enabled = True
            btnStart.Enabled = False
            btnInfo.Enabled = True
        Else
            '
            ' Error connecting to device close window
            
            DestroyWindow(hHwnd)
            btnSave.Enabled = False
        End If
    End Sub
    Private Sub btnStart_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles btnStart.Click
        DeviceID = lstDevices.SelectedIndex
        OpenPreviewWindow()
        Dim bReturn As Boolean
        Dim s As CAPSTATUS
        bReturn = SendMessage(hHwnd, WM_CAP_GET_STATUS, Marshal.SizeOf(s), s)
        Debug.WriteLine(String.Format("Video Size {0} x {1}"s.uiImageWidth, s.uiImageHeight))
    End Sub
    Private Sub ClosePreviewWindow()
        '
        ' Disconnect from device
        '
        SendMessage(hHwnd, WM_CAP_DRIVER_DISCONNECT, DeviceID, 0)
        '
        ' close window
        '
        DestroyWindow(hHwnd)
    End Sub
    Private Sub btnStop_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles btnStop.Click
        ClosePreviewWindow()
        btnSave.Enabled = False
        btnStart.Enabled = True
        btnInfo.Enabled = False
        btnStop.Enabled = False
    End Sub
    Private Sub btnSave_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles btnSave.Click
        Dim data As IDataObject
        Dim bmap As Bitmap

        '
        ' Copy image to clipboard
        '
        SendMessage(hHwnd, WM_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)), Bitmap)
            picCapture.Image = bmap
            ClosePreviewWindow()
            btnSave.Enabled = False
            btnStop.Enabled = False
            btnStart.Enabled = True
            btnInfo.Enabled = False
            Trace.Assert(Not (bmap Is Nothing))
            If sfdImage.ShowDialog = DialogResult.OK Then
                bmap.Save(sfdImage.FileName, Imaging.ImageFormat.Bmp)
            End If
        End If
    End Sub
    Private Sub Form1_Closing(ByVal sender As ObjectByVal e As System.ComponentModel.CancelEventArgsHandles MyBase.Closing
        If btnStop.Enabled Then
            ClosePreviewWindow()
        End If
    End Sub
    Private Sub btnInfo_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles btnInfo.Click
        SendMessage(hHwnd, WM_CAP_DLG_VIDEOFORMAT, 0&, 0&)
    End Sub
End Class

PHP :: Download Source code Login Multi User dengan PHP



Tampilan apabila user belum login, terlihat pada gambar dibawah apabila user belum login menu yang tampil hanya tiga buah, yaitu menu Home, Download dan About.


Tampilan apabila user berhasil login dengan hak akses/level user, terlihat pada gambar tidak ada tombol tambah, edit maupun delete disana, kemudian lihat jumlah menu yang tampil menjadi lima buah menu..















Nah dibawah ini dia login yang menggunakan hak akses/level admin, terlihat lengkap dengan tombol CRUDnya,
















tapi jangan salah kaprah ya... aplikasi ini dibuat hanya untuk mempelajari tentang cara login dengan hak akses tertentu/login multiuser, tidak termasuk operasi CRUD didalamnya, nah pada gambar itu tu yang tampil datanya merupakan data statis yang dibuat sendiri alias tidak diambil dari database...

Login admin :
--username = admin
--password = admin
Login user :
--username = user
--password = user

Download source codenya disini 

ANDROID :: Membuat Splash Screen Pada Android Menggunakan Delphi XE5/XE6


1. Buat Folder untuk projek kita
2. Siapakan Gambar untuk spalsh screen.
3. Buat styles.xml - untuk konfigurasi splash screen.
4. Edit AndroidManifest.template.xml
5. Atur deployment pada delphi XE5 / XE6


 Membuat Folder untuk projek kita

Jika teman - teman menyimpan file projek android dan mengcompilenya maka akan tampil struktur folder seperti

 -Folder Projek
     -Android
     -res
         -splash.png
         -styles.xml

Nah silahkan buat folder res sendiri.

Mempersiapkan gambar splash.png

Buat atau download gambar yang ingin kita buat sebagai gambar splash

Contoh Gambar yang saya siapakan ( Klik Gambar untuk melihat resulusi sebenrnya )


Simpan gambar dengan splash.png kedalam folder res.

Membuat File styles.xml

Buatlah file styles.xml lalu simpan kedlam folder res

 <resources>
<style name="MyTheme.NoTitleBar.SplashWindow" parent="@android:Theme.Holo">
  <item name="android:windowBackground">@drawable/splash</item>
  <item name="android:windowNoTitle">true</item>
  <item name="android:windowFullscreen">true</item>
</style>
</resources>
Mengedit File AndroidManifest.template.xml 

Berikut adalah hasil edit dari AndroidManifest.template.xml yang sya miliki



Buka File  AndroidManifest.template.xml  yang ada didalam folder projek.
Ganti baris berikut
Original: android: theme = "% theme%">

Menjadi
android:theme="@style/MyTheme.NoTitleBar.SplashWindow"

Mengatur deployment prjek pada delphi XE5/XE6 

Pilih Projek - deployment ,Lalu pilih Add File dan tambahkan file styles.xml dan splash.png

Untuk splash.png atur 
Platform: Android
Remote Path: res\drawable\

Untuk styles.xml atur
Platform: Android
Remote Path: res\values\

Silahkan coba compile apliasi yang sudah dibuat :) semoga bermanfaat.
Untuk video demonya akan di upload saat ada waktu luang :)