yaitu mengubah gambar berwarna menjadi grayscale. langsung saja ke contoh berikut :
Buatlah 2 buah Picture box dan file menu yg berisi open dan grayscale.
kemudian tambhakan komponen openfiledialog
kemudina isi Code form berikut :
Imports System
Imports System.IO
Imports System.Drawing
Imports System.Drawing.Imaging
Imports System.Collections
Imports System.ComponentModel
Imports System.Windows.Forms
Imports System.Data
Public Class Form1#Region "Function"
Dim ImageLocation As String = ""
Public Function ConvertToGrayscale(ByVal source As String) As Bitmap
Dim img As Image = Image.FromFile(source)
Dim bm As Bitmap = New Bitmap(img.Width, img.Height)
Dim g As Graphics = Graphics.FromImage(bm)
Dim cm As ColorMatrix = New ColorMatrix(New Single()() _
{ _
New Single() {0.3, 0.3, 0.3, 0, 0}, _
New Single() {0.59, 0.59, 0.59, 0, 0}, _
New Single() {0.11, 0.11, 0.11, 0, 0}, _
New Single() {0, 0, 0, 1, 0}, _
New Single() {0, 0, 0, 0, 1} _
})
Dim ia As ImageAttributes = New ImageAttributes()
ia.SetColorMatrix(cm)
g.DrawImage(img, New Rectangle(0, 0, img.Width, img.Height), 0, 0, img.Width, img.Height, GraphicsUnit.Pixel, ia)
g.Dispose()
Return bm
End Function#End Region
#Region "Form"'Open file picturePrivate Sub OpenPictureToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenPictureToolStripMenuItem.Click
Try
Me.OpenFileDialog1.Filter = "Gambar aja|*.Jpeg;*.jpg;*.png;*.gif"
If Me.OpenFileDialog1.ShowDialog() = DialogResult.OK Then
If Not Me.OpenFileDialog1.FileName Is Nothing Then
PictureBox1.ImageLocation = OpenFileDialog1.FileName
ImageLocation = OpenFileDialog1.FileName
PictureBox2.ImageLocation = ImageLocation
_image = CType(Image.FromFile(OpenFileDialog1.FileName, True), Bitmap)
Me.Refresh()
End If
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
'Ketika grayscale di KlikPrivate Sub GrayscaleToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GrayscaleToolStripMenuItem.Click
If Not (ImageLocation = "") Then
PictureBox2.Image = ConvertToGrayscale(ImageLocation)
PictureBox2.Refresh()
End If
End Sub
#End RegionEnd Class
Hasilnya :

