Ripple
Ripple itu sendiri merupakan salah efek gambar dengan memanfaatkan pola sinusiodal dimana masing-masing warna pada pixel dilakukan proses perhitungan sinusiodal. Berikut ini code untuk membuat efek ripple dengan fungsi Sin dan periode-nya sebesar 1/5
For i = 1 To BitmapWidth
TempValue = i + Sin(i / 5) * Val(txtRipple.Text)
If TempValue > BitmapWidth Then
RippleTable(i) = BitmapWidth
ElseIf TempValue < 1 Then
RippleTable(i) = 1
Else
RippleTable(i) = TempValue
End If
Next i
ReDim ByteArray(1 To bm.bmWidthBytes, 1 To bm.bmHeight)
For i = 1 To bm.bmWidthBytes Step 3
For J = 1 To bm.bmHeight
ByteArray(i, J) = OriginalBits(i, RippleTable(J))
ByteArray(i + 1, J) = OriginalBits(i + 1, RippleTable(J))
ByteArray(i + 2, J) = OriginalBits(i + 2, RippleTable(J))
Next J
Next i
Gambar Hasil Ripple sebesar 5
Brightness
Brightness juga merupakan salah satu efek gambar untuk membuat terang gambar sebesar nilai yang diinginkan. Metode yang sering dipakai adalah dengan mengalihkan semua nilai warna dengan nilai brightness yang diinginkan. Berikut ini contoh code-nya:
For i = 0 To 255
TempValue = i * Val(txtBright.Text)
If TempValue > 255 Then
BrightTable(i) = 255
Else
BrightTable(i) = TempValue
End If
Next i
ReDim ByteArray(1 To bm.bmWidthBytes, 1 To bm.bmHeight)
For i = 1 To bm.bmWidthBytes Step 3
For J = 1 To bm.bmHeight
ByteArray(i, J) = BrightTable(OriginalBits(i, J))
ByteArray(i + 1, J) = BrightTable(OriginalBits(i + 1, J))
ByteArray(i + 2, J) = BrightTable(OriginalBits(i + 2, J))
Next J
Next i
Gambar dengan effek brightness sebesar 5
Demikianlah penjelasan mengenai pengolahan citra digital menggunakan Visual basic. mudah mudahan bermanfaat dan slamat mencoba.....!
NB: Apa sih Pengolahan citra digital klik disini
Referensi :
- MSDN library, “GDI Programming”
- http://blog.aguskurniawan.net








0 komentar:
Posting Komentar