• Domingo 17 de Noviembre de 2024, 20:29

Autor Tema:  Brillo y Contraste de Imágenes  (Leído 2052 veces)

joshgabry

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Brillo y Contraste de Imágenes
« en: Miércoles 9 de Febrero de 2011, 16:23 »
0
Hola compañeros, necesito realizar una pequeña clase de controles
para imágenes pero me están haciendo falta los efectos de Brillo
y Contraste. Si alguno me ayudara se lo agradecería. Para el Brillo
estoy usando este Proceso pero me da un error  de "Memoria Insuficiente"
Gracias de ante mano.

 ''' <summary>
    ''' Proceso que Cambia Brillo de la Imagen
    ''' (PictureBox)
    ''' </summary>
    Public Sub Brillo(ByVal pic As PictureBox, ByVal valor As Single)
    Dim _image as Image
        _image = pic.Image

        Dim g As Graphics
        Dim r As Rectangle
        Dim v As Single = valor / 100

        pic.Image = New Bitmap(pic.Width, pic.Height, PixelFormat.Format32bppArgb)
        g = Graphics.FromImage(pic.Image)
        r = New Rectangle(0, 0, pic.Width, pic.Height)
        g.DrawImage(_image, r)

        Dim colorMatrixVal As Single()() = {New Single() {1, 0, 0, 0, 0}, New Single() {0, 1, 0, 0, 0}, _
                                                            New Single() {0, 0, 1, 0, 0}, New Single() {0, 0, 0, 1, 0}, _
                                                            New Single() {v, v, v, 0, 1}}

        Dim colorMatrix As New ColorMatrix(colorMatrixVal)
        Dim ia As New ImageAttributes

        ia.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap)
        g.DrawImage(_image, r, 0, 0, _image.Width, _image.Height, GraphicsUnit.Pixel, ia)
        pic.Refresh()

    End Sub