Cara Membuat Efek Laser di Form VB 6.0

Cara Membuat Efek Laser di Form VB 6.0 - Pada pertemuan kali ini Saya ingin berbagi tip tentang Cara bagaimana membuat efek laser pada Visual Basic 6.0. Tip ini patut Anda coba untuk menghiasi tampilan form Anda agar kelihatan lebih menarik. Sebenarnya efek laser ini adalah sebuah tampilan gambar atau image yang tidak dimana ketika Anda menjalankannya maka image atau gambar tersebut perlahan-lahan akan membentuk gambar yang utuh bersamaan dengan efek laser. Jadi jangan salah paham kalau ini adalah teks yang kita buat tapi melainkan sebuah image atau gambar.

Untuk membuat efek ini tidaklah sulit Anda hanya butuh komponen picturebox yang sudah di diberikan gamabr.image.Jadi image inilah yang nantinya akan mengluarkan efek laser.Bagi Anda yang penasaran bagaimana cara membuatnya yuk kita ikuti langkah-langkah berikut dibawah ini:

Cara Membuat Efek Laser di Form VB 6.0

1. Buka Form VB Standar Anda
2. Tanamkan 1 buah PictureBox
3. Berikan gambar pada pictureBox dengan gambar apa saja yang Anda sukai dengan cara klik Picture...pada bagian Properties kemudian pilih gambar yang akan di buat efek laser
4. Setelah kita mendesain Form sekarang kita membuat kodenya, disini Saya mempunyai 2 Versi, silahkan Anda pilih Versi mana saja yang Anda sukai dengan efek dan gaya yang berbeda.
5. Copy-paste kode dibawah ini di jendela kode pada bagian General-Declaration:

Kode Versi Pertama:

 Option Explicit
'-------------------------------------------------------------------
' By : http://tipandtrickunivb.blogspot.com
' By : http://Nurhasanblogger.blogspot.com
'-------------------------------------------------------------------
Dim XPos, YPos As Integer
Dim Color As Long

Dim vLeft As Boolean, hLeft As Boolean
Private Enum LaserDrawModes
    LaserCorner
    PrinterScan
    WierdDraw
    WierdDrawSlow
End Enum

Private Sub LaserDraw(PictureToDraw As PictureBox, DrawSurface As Object, Optional LaserOriginX = -1, Optional LaserOriginY = -1, Optional BackColor As ColorConstants = -1, Optional LaserDrawMode As LaserDrawModes = LaserCorner)
          DrawSurface.ScaleMode = vbPixels
        If BackColor <> -1 Then
            DrawSurface.BackColor = BackColor
        End If
 
        PictureToDraw.ScaleMode = vbPixels
        PictureToDraw.AutoRedraw = True
        PictureToDraw.Visible = False
  
        If LaserOriginX = -1 Then
            LaserOriginX = PictureToDraw.ScaleWidth
        End If
        If LaserOriginY = -1 Then
            LaserOriginY = PictureToDraw.ScaleHeight
        End If
 
        For XPos = 0 To PictureToDraw.ScaleWidth
            DoEvents
            For YPos = 0 To PictureToDraw.ScaleHeight
                Color = PictureToDraw.Point(XPos, YPos)
                If LaserDrawMode = LaserCorner Then
                    DrawSurface.Line (XPos, YPos)-(LaserOriginX, LaserOriginY), Color
                ElseIf LaserDrawMode = PrinterScan Then
                    DrawSurface.Line (XPos, YPos)-(LaserOriginX, YPos), Color
                    DrawSurface.Line (XPos + 1, YPos - 1)-(LaserOriginX, YPos - 1), BackColor
                    DoEvents
                ElseIf LaserDrawMode = WierdDrawSlow Then
                    DrawSurface.Line (XPos, YPos)-(LaserOriginX, YPos), Color
                    DoEvents
                Else
                    DrawSurface.Line (XPos, YPos)-(LaserOriginX, YPos), Color
                End If
            Next
        Next
End Sub

Private Sub Form_Load()
    Me.Show
    LaserDraw Picture1, Me, Me.ScaleWidth, Me.ScaleHeight, vbBlack, WierdDraw
End Sub


Kode Versi Kedua:
'----------------------------------------------------
' By : http://tipandtrickunivb.blogspot.com
' By : http://Nurhasanblogger.blogspot.com
'----------------------------------------------------
Private Function aniLaser(Gambar As PictureBox, nilai_awalX As Integer, nilai_awalY As Integer, PosisiLeft_Gambar As Integer, PosisiTop_Gambar As Integer, warna As String)

Dim Lebar_Gambar, Lebar_Gambar2 As Integer
Dim warna2 As String

Me.ScaleMode = vbPixels

With Gambar
.ScaleMode = vbPixels
.AutoRedraw = True
End With

For Lebar_Gambar2 = 0 To Gambar.ScaleWidth
For Lebar_Gambar = 0 To Gambar.ScaleHeight
warna2 = Gambar.Point(Lebar_Gambar2, Lebar_Gambar)
Line (nilai_awalX, nilai_awalY)-(PosisiLeft_Gambar + Lebar_Gambar2, PosisiTop_Gambar + Lebar_Gambar), warna2
Next
Line (nilai_awalX, nilai_awalY)-(PosisiLeft_Gambar + Lebar_Gambar2, PosisiTop_Gambar + Gambar.ScaleHeight), warna
Next

For Lebar_Gambar2 = 0 To Gambar.ScaleHeight
Line (nilai_awalX, nilai_awalY)-(PosisiLeft_Gambar + Gambar.ScaleWidth, PosisiTop_Gambar + Lebar_Gambar2), warna
Next
End Function


Private Sub Form_Activate()
aniLaser Picture1, 680, 180, 10, 10, Me.BackColor
End Sub

6. Kemudian simpan hasil pekerjaan Anda dan jalankan program

Membuat efek laser di vb6.0
Efek Laser Versi 1

Demikian tip cara Cara Membuat Efek Laser di Form VB 6.0. Selamat mencoba semoga berhasil.

No comments: