Brightness
Brightness adalah nilai kecerahan suatu pixel dalam suatu citra, yang menunjukan tingkat kecerahan dari hitam sampai putih. Tingkat kecerahan ini biasanya dinilai dari 0 (hitam) dan 255 (putih). Berikut ini saya postingkan langkah-langkah membuat aplikasi brightness dengan visual basic.
1. Buat form VB terlebih dahulu
2. Tambahkan components Microsoft windows common controls 6.0
3. Masukan tool-tool berikut ke dalam form
| TOOL | PROPERTIES |
| Frame | Caption : Input |
| Frame | Caption : Output |
| Picturebox | Name : picInput Picture : foto kita sendiri |
| Picturebox | Name : picOutput |
| Slider | Name : sldLevel |
tampilan form
4. Add modules dan tuliskan source code di bawah ini di dalamnya
Public Function getBrightness(cl As Long, level As Integer) As Long
//mencari nilai brightness di dalam gambar
' cl = Color wich will be brightened
' level = Brightness (between -255 and 255)
Dim r As Integer, g As Integer, b As Integer
//mencari nilai RGB
r = getRed(cl) + level
g = getGreen(cl) + level
b = getBlue(cl) + level
If r > 255 Then r = 255
If g > 255 Then g = 255
If b > 255 Then b = 255
If r < 0 Then r = 0
If g < 0 Then g = 0
If b < 0 Then b = 0
getBrightness = RGB(r, g, b)
End Function
Private Function getRed(color As Long)
//mencari nilai warna merah di dalam variable warna gambar
getRed = color And &HFF&
End Function
Private Function getGreen(color As Long)
//mencari nilai warna hijau di dalam variable warna gambar
getGreen = (color And &HFF00&) / &H100&
End Function
Private Function getBlue(color As Long)
//mencari nilai warna biru di dalam variable warna gambar
getBlue = (color And &HFF0000) / &H10000
End Function
5. Tuliskan deklarasi di bawah ini pada form1
Option Explicit
Private Declare Function SetPixel Lib "gdi32" ( _
ByVal hdc As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal crColor As Long) As Long
Private Declare Function GetPixel Lib "gdi32" ( _
ByVal hdc As Long, _
ByVal x As Long, _
ByVal y As Long) As Long
Private m_blnAppExit As Boolean
6. Tuliskan source code perintah di bawah ini pada sldLevel
Private Sub sldLevel_Click()
m_blnAppExit = False
Dim x As Integer, y As Integer, intWidth As Integer, _
intHeight As Integer
//memperoleh panjang dan lebar gambar
intWidth = picInput.Width / Screen.TwipsPerPixelX - 3
intHeight = picInput.Height / Screen.TwipsPerPixelY - 2
picOutput.Picture = LoadPicture()
picOutput.Cls
//memperoleh setiap pixel di dalam gambar
For y = 0 To intHeight Step 1
For x = 0 To intWidth Step 1
'Get BrightValue for this pixel and (re)paint it
SetPixel _
picOutput.hdc, _
x, _
y, _
modules.getBrightness( _
GetPixel(picInput.hdc, x, y), _
sldLevel.Value)
Next
picOutput.Refresh
Next
//refresh picOutput
picOutput.Refresh
DoEvents
m_blnAppExit = True
End Sub
7. Dan hasilnya……
8. Hasilnya…………………
nilai brightness bertambah berdasarkan penambahan/pengurangan nilai level kecerahan pada setiap pixel.
SELAMAT MENCOBA

