Sie sind auf Seite 1von 44

SERIE LENGUAJES DE

PROGRAMACION

MANIPULACIN DE IMGENES EN EL
VISUAL BASIC .NET

MG. ABRAHAM GAMARRA MORENO

CONTENIDO
CAPITULO UNO.............................................................................................................................................3
PANORAMA GENERAL DE LOS SISTEMAS DE GRAFICAS PARA VISUAL BASIC.NET ............3
1.1.
USOS Y APLICACIONES .............................................................................................................3
1.2.
COMPONENTES DE UN SISTEMA DE GRAFICOS ..................................................................4
1.3.
TIPOS DE DESPLIEGUE ..............................................................................................................6
1.4.
SOFTWARE DE GRAFICAS ........................................................................................................6
1.5.
PRIMITIVAS DE GRAFICOS .......................................................................................................7
1.6.
DESPLIEGUE DE CURVAS .........................................................................................................7
1.6.1. TRAZADO DE CURVAS EN GENERAL....................................................................................7
1.7.
EJEMPLOS DE DESPLIEGUE DE CURVAS.............................................................................10
CAPITULO DOS ...........................................................................................................................................15
MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET ........................................15
2.1.
POINT (ESTRUCTURA)....................................................................................................................15
2.1.1. Constructores pblicos.............................................................................................................15
2.1.2. Campos pblicos ......................................................................................................................16
2.1.3. Mtodos pblicos .....................................................................................................................16
2.1.4. Operadores pblicos y conversiones de tipos ..........................................................................17
2.1.5. Mtodos protegidos ..................................................................................................................18
2.2.
BITMAP (CLASE)............................................................................................................................18
2.2.1. Constructores pblicos.............................................................................................................18
2.2.2. Bitmap (Constructor) ...............................................................................................................19
2.2.3. Propiedades pblicas ...............................................................................................................20
2.2.4. Mtodos pblicos .....................................................................................................................21
2.2.5. Mtodos protegidos ..................................................................................................................23
2.3.
COLOR (ESTRUCTURA) ..................................................................................................................24
2.3.1. Campos pblicos ......................................................................................................................24
2.3.2. Propiedades pblicas ...............................................................................................................24
2.3.3. Mtodos pblicos .....................................................................................................................37
2.3.4. Operadores pblicos ................................................................................................................38
2.3.5. Mtodos protegidos ..................................................................................................................38
2.4.
EJEMPLO DE LA MANIPULACION DE IMGENES ..................................................................39

ii

MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

CAPITULO UNO
PANORAMA GENERAL DE LOS SISTEMAS
DE GRAFICAS PARA VISUAL BASIC.NET
1.1. USOS Y APLICACIONES
No existe ningn rea en que no se puedan aplicar las
grficas por computadora con algn beneficio. Entre
algunas aplicaciones se tiene:
a) Diseo Asistido por Computadora

En Mecnica (Partes y componentes)

Modelos de circuitos electrnicos

Automoviles, aviones, barcos, naves espaciales.

Edificios y diseo de construccin

b) Grficas de presentacin.
Ilustran datos y relaciones entre estos y muestran
modelos en diversas reas como finanzas, ciencias.
Geografa, economa, etc.

Grficas de barras, lineales, de superficie, de


pastel

Mg. Abraham Gamarra Moreno

c) Arte por computadora


d) Entretenimiento

Para la produccin de pelculas, videos musicales


y programas de televisin.

e) Educacin y Capacitacin

Se utilizan como instrumentos de ayuda educativa


modelos
de
sistemas
fsicos,
financieros,
econmicos, fisiolgicos.

Simuladores de vuelo, simulador naval, simulador


de automvil.

f) Visualizacin
g) Procesamiento de imgenes

1.2. COMPONENTES DE UN SISTEMA DE GRAFICOS

Instruccio
nes de
Software
Ordenes o comandos

Representac
in Interna

Dispositiv
o de
despliegue

Buffer de referencia
Software
/
Hardware

Monitor de
video.
Impresora
Graficador
o plotter

Para realizar la representacin interna por ejemplo se


puede llevar los puntos a un arreglo.
El dispositivo de despliegue contiene la regin de
despliegue donde se trazan los grficos. Esta regin
es usualmente un rectngulo o malla rectangular
divididas en XMAX celdas horizontales e YMAX celdas
verticales.

MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

COLUMNAS
0
FIL
A

XMAX-1

0
1
Y
YMAX1

Se usan coordenadas rectangulares (X,Y)


Donde:
X= 0, 1, 2, , XMAX-1
Y= 0, 1, 2, , YMAX-1

X e Y son coordenadas de dispositivo y cada celda se


llama pixel (picture element) y puede tener color e
intensidad.
En un sistema simple en blanco y negro, cada punto de
la pantalla esta encendido o apagado, de manera que
slo se necesita un bit por pixel para controlar la
intensidad de las posiciones en la pantalla.
Para un sistema con dos niveles, un valor de bit 1
indica que se debe activar el haz de electrones en esa
posicin y un valor de 0 indica que se debe desactivar
la intensidad la intensidad de haz.
Cuando se deben desplegar variaciones de color e
intensidad, se requieren bits adicionales. Se incluyen
hasta 32 bits por pixel en sistemas de alta calidad,
que pueden requerir varios megabytes de almacenamiento
para el buffer de imagen, dependiendo de la resolucin
del sistema.
Para un sistema de 24 bits (3 bytes) y una resolucin
de pantalla de 1024 x 1024 requiere:
3 * 1024 * 1024 = 3 Mbytes de almacenamiento
de buffer de imagen.
Mg. Abraham Gamarra Moreno

En sistemas de blanco y negro con un bit por pixel, el


buffer de iamgen se conoce como mapa de bits (BITMAP).
Para sistemas con bits mltiples por pixel, el buffer
de imagen se llama mapa de pixels (PIXMAP).
RAZON DE =
ASPECTO

YMAX
XMAX

RESOLUCION DE
LA IMAGEN

= XMAX * YMAX

1.3. TIPOS DE DESPLIEGUE


Es la forma como se traza la imagen y puede ser:
a) Despliegues de barrido con rastreador

Sistema de rastreo con rastreador, este sistema


despliega un objeto como un conjunto de puntos
discretos a lo largo de cada lnea de rastreo.

Sistema de rastreo aleatorio, el cual traza las


lneas de composicin de un objeto en cualquier
orden especifico.

b) Despliegue al azar, donde para cada (x, y ) se


traza directamente el pixel.

1.4. SOFTWARE DE GRAFICAS


Hay dos clasificaciones generales para el software de
grficas:

Los paquetes generales de programacin, ofrece un


amplio conjunto de funciones grficas que se
pueden utilizar en un lenguaje de programacin de
alto nivel, como el visual C, visual basic, etc.

Los paquetes de aplicaciones para propsitos


especiales, estos estn diseados para personas
que no son programadores, de modo que los
usuarios
pueden
generar
despliegues
sin
preocuparse por el desarrollo de las operaciones
grficas.
MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

Las coordenadas que se usan son las cartesianas y los


paquetes
de
grficos
usan
coordenadas
llamadas
mundiales (definidas por el usuario), los cuales son
convertidas a coordenadas de dispositivo donde:
0 <= Xd <= XMAX-1
0 <= Yd <= YMAX-1
Xd, Yd son enteros.

Imagen con
coordenada
s
mundiales

Coordenadas
de
dispositivo

Dispositivo
s de
despliegue

1.5. PRIMITIVAS DE GRAFICOS


Son
los
objetos
bsicos
para
la
manipulacin de imgenes. Tales como:

creacin

Objetos geomtricos (Puntos, lneas, carcteres,


etc)

Funciones de mantenimiento (borrado, copiado de


imgenes, etc)

1.6. DESPLIEGUE DE CURVAS


Varias funciones de curvas son tiles en modelado de
objetos,
especificaciones
de
trayectoria
de
la
animacin, diagramacin de datos y funciones, al igual
que otras aplicaciones. Las curvas incluyen funciones
cnicas,
trigonomtricas
y
exponenciales,
distribuciones de probabilidad, polinomios generales y
funciones de splines.

1.6.1. TRAZADO DE CURVAS EN GENERAL


Para algunas funciones se tiene:
Y = f(X)
Donde : valor menor<= X <= valor mayor
o
Mg. Abraham Gamarra Moreno

X = f(Y)
Donde : valor menor <= Y <= valor mayor
Ejemplo:

Y=sen(X)

Y=X2

0<= X<=360
-10<=X<=10

Tambin se tienen las ecuaciones paramtricas


de curvas como se muestra a continuacin:
X=f(t)

Y=f(t)

Donde: t es el parmetro (valor menor <= t <=


valor mayor)
Ejemplo:

X = t2 + t + 1
50<=t<=50)

Para el trazado de curvas


siguientes recomendaciones:

10

utilice

(las

Determinar la variable X e Y o el
parmetro t que da el mayor nmero de
puntos posibles en la curva.

Modificar si fuera necesario las escala


de los ejes de modo que la curva
presente una representacin aceptable.

El trazado puede hacerse por puntos o


por
segmentos
que
unen
puntos
consecutivos, el ltimo es preferido.

Cada punto obtenido de la funcin esta


en coordenadas mundiales y debe llevarse
a coordenadas de pantalla.

Las coordenadas mundiales son las coordenadas


que utiliza el usuario para representar sus
grficas (vea la figura 1.1).

MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

Ym

-Xm

Xm

-Ym
Figura 1.1 Sistema de coordenadas mundiales

Las
coordenadas
de
pantalla
son
las
coordenadas que utiliza el monitor en el modo
grfico (figura 1.2).
X

0
Dispositivo
de
salida(Pantal
la)

(XMAX-1, YMAX-1)
Figura 1.2 Sistema de coordenadas de pantalla.

Para realizar la transformacin de puntos en


coordenadas
mundiales
a
coordenadas
de
Mg. Abraham Gamarra Moreno

pantalla se elige primero la ubicacin del


centro de las coordenadas mundiales en la
pantalla
(X0,Y0) y se debe utilizar las
siguientes ecuaciones:

X = X0+Xm

Y=Y0-Ym

Donde:
(X,Y) =coordenadas de pantalla
(Xm, Ym)=coordenadas mundiales.

1.7. EJEMPLOS DE DESPLIEGUE DE CURVAS


Ejemplo:
Programa
que
grfica
las
funciones:
Y=seno(X), y=x2 . Para la solucin Vea el proyecto
curvas.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim g As Graphics = Me.CreateGraphics
Dim milapiz1 As New Pen(Color.Blue)
Dim milapiz2 As New Pen(Color.Red)
Dim x0, y0 As Integer 'Centro de las coordenadas cartesianas en
la pantalla
Dim xm, ym As Integer 'Coordenadas mundiales
Dim x, y As Integer 'coordenadas de dispositivo
Dim punto As RectangleF
x0 = 350
y0 = 250
g.Clear(Color.Yellow)
'ejes
milapiz2.Width = 1
g.DrawLine(milapiz2, 0, y0, x0 * 2, y0)
g.DrawLine(milapiz2, x0, 0, x0, y0 * 2)
'trazado de la curva
For xm = -300 To 300
ym = CInt(Math.Sin(xm * 3.1416 / 180) * 100)
x = x0 + xm
y = y0 - ym
punto.X = x - 1
punto.Y = y - 1
punto.Width = 2
punto.Height = 2
g.DrawEllipse(milapiz1, punto)
Next
10

MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click


Dim g As Graphics = Me.CreateGraphics
Dim milapiz1 As New Pen(Color.Blue)
Dim milapiz2 As New Pen(Color.Red)
Dim x0, y0 As Integer 'Centro de las coordenadas cartesianas en
la pantalla
Dim xm, ym As Integer 'Coordenadas mundiales
Dim x, y As Integer 'coordenadas de dispositivo
Dim punto As RectangleF
x0 = 350
y0 = 300
g.Clear(Color.Yellow)
'ejes
milapiz2.Width = 1
g.DrawLine(milapiz2, 0, y0, x0 * 2, y0)
g.DrawLine(milapiz2, x0, 0, x0, y0 * 2)
'trazado de la curva
For xm = -300 To 300
ym = CInt(xm * xm * 0.01)
x = x0 + xm
y = y0 - ym
Mg. Abraham Gamarra Moreno

11

punto.X = x - 1
punto.Y = y - 1
punto.Width = 2
punto.Height = 2
g.DrawEllipse(milapiz1, punto)
Next
End Sub

12

MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

Ejemplo:
Escriba
un
programa
que
muestre
la
trayectoria recorrida por los puntos B y C de la
figura,
siendo
A
fijo
y
AB
gira
en
sentido
antihorario; adems C siempre tiene un recorrido sobre
el eje X. Para la solucin vea el proyecto curvas.

Y
70m

90m

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click


Dim g As Graphics = Me.CreateGraphics
Dim milapiz1 As New Pen(Color.Blue)
Dim milapiz2 As New Pen(Color.Red)
Dim x0, y0 As Integer 'Centro de las coordenadas cartesianas en
la pantalla
Dim xm, ym As Integer 'Coordenadas mundiales
Dim x, y As Integer 'coordenadas de dispositivo
Dim punto As RectangleF
Dim xmc, ymc, xc, yc As Integer
x0 = 350
y0 = 300
g.Clear(Color.Yellow)
'ejes
milapiz2.Width = 1
g.DrawLine(milapiz2, 0, y0, x0 * 2, y0)
g.DrawLine(milapiz2, x0, 0, x0, y0 * 2)
Dim
Dim
xma
yma

alfa As Double
xma, yma, xmb, ymb, xa, ya, xb, yb As Integer
= 0
= 0

'trazado de la curva
For alfa = 0 To 390
xmb = CInt(70 * Math.Cos(alfa * 3.1416 / 180))
ymb = CInt(70 * Math.Sin(alfa * 3.1416 / 180))
xa = x0 + xma
Mg. Abraham Gamarra Moreno

13

ya = y0 - yma
xb = x0 + xmb
yb = y0 - ymb
ymc = yma
xmc = CInt(Math.Sqrt(90 * 90 - Math.Sin(alfa * 3.1416 / 180)
* Math.Sin(alfa * 3.1416 / 180)) + 70 * Math.Cos(alfa * 3.1416 / 180))
xc = x0 + xmc
yc = y0 - ymc
Dim i As Integer
For i = 1 To 5000000
Next
g.Clear(Color.Yellow)
'ejes
g.DrawLine(milapiz2, 0, y0, x0 * 2, y0)
g.DrawLine(milapiz2, x0, 0, x0, y0 * 2)
'barra
g.DrawLine(milapiz1, xa, ya, xb, yb)
g.DrawLine(milapiz1, xb, yb, xc, yc)
Next
End Sub

14

MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

CAPITULO DOS
MANIPULACION BASICA DE IMGENES EN
EL VISUAL BASIC .NET
Para una referencia del Visual Basic .Net
archivo VBnet.pdf adjunto a la presente obra.

vea

el

En forma adicional al archivo anterior revisaremos las


siguientes clases y estructuras necesarias para
manipular imgenes.

2.1. POINT (ESTRUCTURA)


Representa un par ordenado de coordenadas x e y de
enteros que define un punto en un plano bidimensional.
A continuacin se describen los miembros de Point:

2.1.1. CONSTRUCTORES PBLICOS


Point (Constructor)
Compatible con .NET Compact Framework.

Sobrecargado. Inicializa una


nueva instancia de la clase
Point con las coordenadas
especificadas.

Inicializa una nueva instancia de la clase Point con las coordenadas especificadas.
Lista de sobrecarga
Mg. Abraham Gamarra Moreno

15

Inicializa una nueva instancia de la clase Point con las coordenadas que especifica un valor
entero.
Public Sub New(Integer)
Inicializa una nueva instancia de la clase Point a partir de un objeto Size.
Public Sub New(Size)
Inicializa una nueva instancia de la clase Point con las coordenadas especificadas.
Compatible con .NET Compact Framework.
Public Sub New(Integer, Integer)

2.1.2. CAMPOS PBLICOS


Representa un Point nulo.
Empty
Compatible con .NET Compact Framework.
Propiedades pblicas
Obtiene un valor que indica si
el objeto Point est vaco.

IsEmpty
Compatible con .NET Compact Framework.
X
Compatible con .NET Compact Framework.
Y
Compatible con .NET Compact Framework.

Obtiene o establece la
coordenada x de este objeto
Point.
Obtiene o establece la
coordenada y de este objeto
Point.

2.1.3. MTODOS PBLICOS


Convierte el objeto PointF
especificado en un objeto
Point redondeando los valores
del objeto PointF a los
valores enteros superiores
siguientes.
Reemplazado. Especifica si
este objeto Point tiene las
Equals
mismas
coordenadas que el
Compatible con .NET Compact Framework.
Object especificado.
Ceiling

16

MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

GetHashCode
Compatible con .NET Compact Framework.
GetType (se hereda de
Object)

Reemplazado. Devuelve un
cdigo hash para este objeto
Point.
Obtiene el objeto Type de la
instancia actual.

Compatible con .NET Compact Framework.


Offset

Convierte este objeto Point en


la cantidad especificada.

Compatible con .NET Compact Framework.


Convierte el objeto PointF
especificado en Point
Round
redondeando los valores del
objeto Point a los valores
enteros ms cercanos.
Reemplazado. Convierte esta
estructura Point en una cadena
ToString
legible
para el usuario.
Compatible con .NET Compact Framework.
Truncate

Convierte el objeto PointF


especificado al objeto Point
mediante el truncamiento de
los valores del objeto Point.

2.1.4. OPERADORES PBLICOS Y CONVERSIONES DE


TIPOS
Convierte Point en Size
especificado.
Compara dos objetos Point. El
resultado especifica si los
Operador de igualdad
valores de las propiedades X y
Compatible con .NET Compact Framework.
Y de los dos objetos Point son
iguales.
Compara dos objetos Point. El
resultado
especifica si los
Operador de desigualdad
valores de las propiedades X y
Compatible con .NET Compact Framework.
Y de los dos objetos Point no
son iguales.
Convierte un objeto Point en
la cantidad negativa del
Operador de resta
objeto Size especificado.
Operador de suma

Mg. Abraham Gamarra Moreno

17

Conversin de Point a
Size
Conversin de Point a
PointF

Crea un nuevo objeto Size con


las coordenadas del objeto
Point especificado.
Crea un nuevo objeto PointF
con las coordenadas del objeto
Point especificado.

2.1.5. MTODOS PROTEGIDOS


Reemplazado. Permite que un
objeto Object intente liberar
recursos y realizar otras
Compatible con .NET Compact Framework. operaciones de limpieza antes
de que el objeto Object sea
reclamado por el recolector de
elementos no utilizados.
Finalize (se hereda de
Object)

En C# y C++, los finalizadores se expresan


mediante la sintaxis del destructor.
Crea una copia superficial del
MemberwiseClone (se hereda objeto Object actual.
de Object)
Compatible con .NET Compact Framework.

2.2. BITMAP (CLASE)


Encapsula un mapa de bits de GDI+, formado por los
datos de pxel de una imagen de grficos y sus
atributos. Un objeto Bitmap es un objeto utilizado
para trabajar con imgenes definidas por datos de
pxel.
Los miembros de Bitmap se listan a continuacin.

2.2.1. CONSTRUCTORES PBLICOS


Bitmap (Constructor)
Compatible con .NET Compact Framework.

18

Sobrecargado. Inicializa una


nueva instancia de la clase
Bitmap.

MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

2.2.2. BITMAP (CONSTRUCTOR)


Inicializa una nueva instancia de la clase
Bitmap.
Lista de sobrecarga
Inicializa una nueva instancia de la clase
Bitmap a partir de la imagen especificada
existente.
Compatible con .NET Compact Framework.
Public Sub New(Image)
Inicializa una nueva instancia de la clase Bitmap a partir de la secuencia de datos
especificada.
Compatible con .NET Compact Framework.
Public Sub New(Stream)
Inicializa una nueva instancia de la clase Bitmap a partir del archivo especificado.
Compatible con .NET Compact Framework.
Public Sub New(String)
Inicializa una nueva instancia de la clase Bitmap a partir de la imagen existente
especificada y con el tamao especificado.
Public Sub New(Image, Size)
Inicializa una nueva instancia de la clase Bitmap con el tamao especificado.
Compatible con .NET Compact Framework.
Public Sub New(Integer, Integer)
Inicializa una nueva instancia de la clase Bitmap a partir de la secuencia de datos
especificada.
Public Sub New(Stream, Boolean)
Inicializa una nueva instancia de la clase Bitmap a partir del archivo especificado.
Public Sub New(String, Boolean)
Inicializa una nueva instancia de la clase Bitmap a partir de un recurso especificado.
Public Sub New(Type, String)
Inicializa una nueva instancia de la clase Bitmap a partir de la imagen existente
especificada y con el tamao especificado.
Public Sub New(Image, Integer, Integer)
Inicializa una nueva instancia de la clase Bitmap con el tamao especificado y la
resolucin del objeto Graphics especificado.
Public Sub New(Integer, Integer, Graphics)
Mg. Abraham Gamarra Moreno

19

Inicializa una nueva instancia de la clase Bitmap con el tamao y el formato especificados.
Public Sub New(Integer, Integer, PixelFormat)
Inicializa una nueva instancia de la clase Bitmap con el tamao, el formato de pxeles y los
datos de pxeles especificados.
Public Sub New(Integer, Integer, Integer, PixelFormat,
IntPtr)

2.2.3. PROPIEDADES PBLICAS


Obtiene indicadores de
Flags (se hereda de Image) atributo para este objeto
Image.
Obtiene una matriz de GUID que
representa las dimensiones de
FrameDimensionsList (se
los marcos de este objeto
hereda de Image)
Image.
Obtiene el alto de este objeto
Height (se hereda de Image) Image.
Compatible con .NET Compact Framework.
HorizontalResolution (se
hereda de Image)
Palette (se hereda de
Image)
PhysicalDimension (se
hereda de Image)
PixelFormat (se hereda de
Image)

Obtiene la resolucin
horizontal, en pxeles por
pulgada, de este objeto Image.
Obtiene o establece la paleta
de colores de este objeto
Image.
Obtiene el ancho y el alto de
esta imagen.
Obtiene el formato de pxeles
de este objeto Image.

Obtiene los identificadores de


los elementos de propiedad
almacenados en este objeto
Image.
Obtiene todos los elementos de
PropertyItems (se hereda de propiedad (fragmentos de
Image)
metadatos) almacenados en este
objeto Image.
Obtiene el formato de este
objeto Image.
RawFormat (se hereda de
Image)
PropertyIdList (se hereda
de Image)

20

MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

Obtiene el ancho y el alto de


Size (se hereda de Image) esta imagen, expresado en
Compatible con .NET Compact Framework. pxeles.
Obtiene la resolucin
vertical, en pxeles por
pulgada, de este objeto Image
Obtiene el ancho de este
Width (se hereda de Image) objeto Image.

VerticalResolution (se
hereda de Image)

Compatible con .NET Compact Framework.

2.2.4. MTODOS PBLICOS


Sobrecargado. Crea una copia
de la seccin de este Bitmap
definida con un PixelFormat
especificado.
Crea un objeto que contiene
CreateObjRef (se hereda de toda la informacin relevante
MarshalByRefObject)
necesaria para generar un
proxy utilizado para
comunicarse con un objeto
remoto.
Sobrecargado.
Dispose (se hereda de
Image)
Clone

Compatible con .NET Compact Framework.


Equals (se hereda de
Object)

Sobrecargado. Determina si dos


instancias de Object son
iguales.

Compatible con .NET Compact Framework.


Crea un Bitmap a partir de un
identificador de Windows de un
FromHicon
icono.
Crea un objeto Bitmap a partir
del recurso de Windows
FromResource
especificado.
Obtiene un rectngulo
delimitador para este objeto
GetBounds (se hereda de
Image)
Image, en las unidades
especificadas.
Devuelve informacin sobre los
GetEncoderParameterList (se parmetros que admite el
Mg. Abraham Gamarra Moreno

21

hereda de Image)

codificador de imgenes
especificado.
Devuelve el nmero de marcos
GetFrameCount (se hereda de de la dimensin especificada.
Image)
Sirve como funcin hash para
GetHashCode (se hereda de un tipo concreto, apropiado
Object)
para su utilizacin en
Compatible con .NET Compact Framework. algoritmos de hash y
estructuras de datos como las
tablas hash.
Sobrecargado. Crea un objeto
de mapa de bits de GDI a
GetHbitmap
partir de un objeto Bitmap
GDI+.
Devuelve el identificador de
un icono.
GetHicon
Recupera el objeto de servicio
de duracin actual que
GetLifetimeService (se
hereda de MarshalByRefObject) controla la directiva de
duracin de esta instancia.
Obtiene el color del pxel
especificado de este Bitmap.
GetPixel
Compatible con .NET Compact Framework.
Obtiene el elemento de
GetPropertyItem (se hereda propiedad especificado de este
de Image)
objeto Image.
Devuelve una vista en
miniatura de este objeto
GetThumbnailImage (se
hereda de Image)
Image.
Obtiene el objeto Type de la
GetType (se hereda de Ob- instancia actual.
ject)
Compatible con .NET Compact Framework.
InitializeLifetimeService
(se hereda de
MarshalByRefObject)
LockBits
MakeTransparent

22

Obtiene un objeto de servicio


de duracin para controlar la
directiva de duracin de esta
instancia.
Bloquea un objeto Bitmap en la
memoria del sistema.
Sobrecargado. Hace el color
transparente predeterminado
transparente para este Bitmap.

MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

Quita el elemento de propiedad


RemovePropertyItem (se he- especificado de este objeto
Image.
reda de Image)
Este mtodo gira, voltea o
gira y voltea el objeto Image.
RotateFlip (se hereda de
Image)
Sobrecargado. Guarda esta
Save (se hereda de Image) imagen en la secuencia
especificada con el formato
especificado.
Sobrecargado. Agrega la
informacin del objeto Image
SaveAdd (se hereda de
especificado a este objeto
Image)
Image. El objeto
EncoderParameters especificado
determina cmo se incorpora la
nueva informacin a la imagen
existente.
Selecciona el marco que
especifican la dimensin y el
SelectActiveFrame (se
ndice.
hereda de Image)
Establece el color del pxel
especificado de este Bitmap.
SetPixel
Compatible con .NET Compact Framework.
Almacena un elemento de
SetPropertyItem (se hereda propiedad (fragmento de
metadatos) en este objeto
de Image)
Image.
Establece la resolucin de
este objeto Bitmap.
SetResolution
Devuelve un objeto String que
ToString (se hereda de Ob- representa al objeto Object
ject)
actual.
Compatible con .NET Compact Framework.
UnlockBits

Desbloquea este Bitmap de la


memoria del sistema.

2.2.5. MTODOS PROTEGIDOS


Reemplazado. Permite que un
Finalize (se hereda de Ob- objeto Object intente liberar
ject)
recursos y realizar otras
Compatible con .NET Compact Framework. operaciones de limpieza antes
Mg. Abraham Gamarra Moreno

23

de que el objeto Object sea


reclamado por el recolector de
elementos no utilizados.
En C# y C++, los finalizadores se expresan
mediante la sintaxis del destructor.
Crea una copia superficial del
MemberwiseClone (se hereda objeto Object actual.
de Object)
Compatible con .NET Compact Framework.

2.3. COLOR (ESTRUCTURA)


Representa un color ARGB.
Los miembros de Color se listan a continuacin.

2.3.1. CAMPOS PBLICOS


Representa un color nulo.
Empty
Compatible con .NET Compact Framework.

2.3.2. PROPIEDADES PBLICAS


A
Compatible con .NET Compact Framework.

Obtiene el valor del


componente alfa de esta
estructura Color.
Obtiene un color definido por
el sistema.

AliceBlue
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

AntiqueWhite
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Aqua
Compatible con .NET Compact Framework.
Aquamarine
24

Obtiene un color definido por


el sistema.
MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

Compatible con .NET Compact Framework.


Azure

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


B
Compatible con .NET Compact Framework.
Beige

Obtiene el valor del


componente azul de esta
estructura Color.
Obtiene un color definido por
el sistema.

Compatible con .NET Compact Framework.


Bisque

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Black

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


BlanchedAlmond

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Blue

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


BlueViolet

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Brown

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


BurlyWood

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


CadetBlue

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Chartreuse
Mg. Abraham Gamarra Moreno

Obtiene un color definido por


el sistema.
25

Compatible con .NET Compact Framework.


Obtiene un color definido por
el sistema.

Chocolate
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Coral
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

CornflowerBlue
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Cornsilk
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Crimson
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Cyan
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

DarkBlue
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

DarkCyan
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

DarkGoldenrod
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

DarkGray
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

DarkGreen
Compatible con .NET Compact Framework.
DarkKhaki
26

Obtiene un color definido por


el sistema.
MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

Compatible con .NET Compact Framework.


DarkMagenta

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


DarkOliveGreen

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


DarkOrange

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


DarkOrchid

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


DarkRed

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


DarkSalmon

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


DarkSeaGreen

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


DarkSlateBlue

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


DarkSlateGray

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


DarkTurquoise

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


DarkViolet

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


DeepPink
Mg. Abraham Gamarra Moreno

Obtiene un color definido por


el sistema.
27

Compatible con .NET Compact Framework.


Obtiene un color definido por
el sistema.

DeepSkyBlue
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

DimGray
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

DodgerBlue
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Firebrick
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

FloralWhite
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

ForestGreen
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Fuchsia
Compatible con .NET Compact Framework.
G
Compatible con .NET Compact Framework.

Obtiene el valor del


componente verde de esta
estructura Color.
Obtiene un color definido por
el sistema.

Gainsboro
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

GhostWhite
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Gold
Compatible con .NET Compact Framework.
Goldenrod
28

Obtiene un color definido por


el sistema.
MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

Compatible con .NET Compact Framework.


Gray

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Green

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


GreenYellow

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Honeydew

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


HotPink

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


IndianRed

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Indigo

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


IsEmpty

Especifica si esta estructura


Color est sin inicializar.

Compatible con .NET Compact Framework.


IsKnownColor

IsNamedColor

IsSystemColor
Mg. Abraham Gamarra Moreno

Especifica si esta estructura


Color es un color predefinido.
Los elementos de la
enumeracin KnownColor
representan los colores
predefinidos.
Especifica si esta estructura
Color es un color predefinido.
Los elementos de la
enumeracin KnownColor
representan los colores
predefinidos.
Especifica si esta estructura
Color es un color del sistema.
29

Compatible con .NET Compact Framework. Un color del sistema es un


color utilizado en un elemento
que se muestra en Windows. Los
elementos de la enumeracin
KnownColor representan los
colores del sistema.
Obtiene un color definido por
el sistema.
Ivory
Compatible con .NET Compact Framework.
Obtiene un color definido por
el sistema.

Khaki
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Lavender
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

LavenderBlush
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

LawnGreen
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

LemonChiffon
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

LightBlue
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

LightCoral
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

LightCyan
Compatible con .NET Compact Framework.
LightGoldenrodYellow

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


LightGray
30

Obtiene un color definido por


el sistema.
MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

Compatible con .NET Compact Framework.


LightGreen

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


LightPink

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


LightSalmon

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


LightSeaGreen

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


LightSkyBlue

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


LightSlateGray

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


LightSteelBlue

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


LightYellow

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Lime

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


LimeGreen

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Linen

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Magenta
Mg. Abraham Gamarra Moreno

Obtiene un color definido por


el sistema.
31

Compatible con .NET Compact Framework.


Obtiene un color definido por
el sistema.

Maroon
Compatible con .NET Compact Framework.
MediumAquamarine

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Obtiene un color definido por
el sistema.

MediumBlue
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

MediumOrchid
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

MediumPurple
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

MediumSeaGreen
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

MediumSlateBlue
Compatible con .NET Compact Framework.
MediumSpringGreen

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Obtiene un color definido por
el sistema.

MediumTurquoise
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

MediumVioletRed
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

MidnightBlue
Compatible con .NET Compact Framework.
MintCream
32

Obtiene un color definido por


el sistema.
MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

Compatible con .NET Compact Framework.


MistyRose

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Moccasin

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Name

NavajoWhite

Obtiene el nombre de este


nombre de Color. Devolver el
nombre del color definido por
el usuario, si el color se
cre a partir de un nombre, o
el nombre de un color
conocido. Para los colores
personalizados, se devuelve el
valor RGB.
Obtiene un color definido por
el sistema.

Compatible con .NET Compact Framework.


Navy

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


OldLace

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Olive

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


OliveDrab

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Orange

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


OrangeRed

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.

Mg. Abraham Gamarra Moreno

33

Obtiene un color definido por


el sistema.

Orchid
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

PaleGoldenrod
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

PaleGreen
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

PaleTurquoise
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

PaleVioletRed
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

PapayaWhip
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

PeachPuff
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Peru
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Pink
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Plum
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

PowderBlue
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Purple
Compatible con .NET Compact Framework.
34

MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

R
Compatible con .NET Compact Framework.
Red

Obtiene el valor del


componente rojo de esta
estructura Color.
Obtiene un color definido por
el sistema.

Compatible con .NET Compact Framework.


RosyBrown

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


RoyalBlue

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


SaddleBrown

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Salmon

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


SandyBrown

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


SeaGreen

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


SeaShell

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Sienna

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Silver

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


SkyBlue

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Mg. Abraham Gamarra Moreno

35

Obtiene un color definido por


el sistema.

SlateBlue
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

SlateGray
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Snow
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

SpringGreen
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

SteelBlue
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Tan
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Teal
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Thistle
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Tomato
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Transparent
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Turquoise
Compatible con .NET Compact Framework.

Obtiene un color definido por


el sistema.

Violet
Compatible con .NET Compact Framework.
36

MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

Wheat

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


White

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


WhiteSmoke

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


Yellow

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.


YellowGreen

Obtiene un color definido por


el sistema.

Compatible con .NET Compact Framework.

2.3.3. MTODOS PBLICOS


Reemplazado. Comprueba si el
objeto especificado es una
Equals
estructura Color y si equivale
Compatible con .NET Compact Framework.
a esta estructura Color.
Sobrecargado. Crea una
estructura Color a partir de
FromArgb
los
cuatro valores de los
Compatible con .NET Compact Framework.
componentes ARGB de 8 bits
(alfa, rojo, verde y azul).
Crea una estructura Color a
partir del color predefinido
FromKnownColor
especificado.
Crea una estructura Color a
partir del nombre especificado
FromName
de un color predefinido.
Obtiene el valor de brillo HSB
(brillo de saturacin de
GetBrightness
matiz) de esta estructura
Color.
Reemplazado. Devuelve un
cdigo hash para esta
GetHashCode
estructura Color.
Compatible con .NET Compact Framework.
Mg. Abraham Gamarra Moreno

37

GetHue

GetSaturation

GetType (se hereda de Object)

Obtiene el valor de matiz HSB


(brillo de saturacin de
matiz), en grados, de esta
estructura Color.
Obtiene el valor de saturacin
HSB (brillo de saturacin de
matiz) de esta estructura
Color.
Obtiene el objeto Type de la
instancia actual.

Compatible con .NET Compact Framework.


Obtiene el valor ARGB de 32
bits de esta estructura Color.

ToArgb
Compatible con .NET Compact Framework.

Obtiene el valor KnownColor de


esta estructura Color.
Reemplazado. Convierte esta
estructura Color en una cadena
ToString
Compatible con .NET Compact Framework. inteligible para el usuario.
ToKnownColor

2.3.4. OPERADORES PBLICOS


Comprueba si dos estructuras
Color especificadas son
Compatible con .NET Compact Framework. equivalentes.
Operador de igualdad

Comprueba si dos estructuras


Operador de desigualdad Color especificadas son
Compatible con .NET Compact Framework. distintas.

2.3.5. MTODOS PROTEGIDOS


Reemplazado. Permite que un
Finalize (se hereda de Ob- objeto Object intente liberar
ject)
recursos y realizar otras
Compatible con .NET Compact Framework. operaciones de limpieza antes
de que el objeto Object sea
reclamado por el recolector de
elementos no utilizados.
En C# y C++, los finalizadores se expresan
38

MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

mediante la sintaxis del destructor.


Crea una copia superficial del
MemberwiseClone (se hereda objeto Object actual.
de Object)
Compatible con .NET Compact Framework.

2.4. EJEMPLO DE LA MANIPULACION DE IMGENES


Vea el proyecto de Visual Basic .Net llamado suavizado
para ver el uso de estas funciones.

Ejecucin y cdigo para el botn mostrar imagen

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


Dim elements() As String = {"imagen1.bmp", "imagen2.bmp", "imagen3.bmp"}
Dim i As Integer
For i = 0 To UBound(elements)
Me.ListBox1.Items.Add(elements(i))
Next
End Sub
Mg. Abraham Gamarra Moreno

39

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


Dim g As Graphics = Me.CreateGraphics
Dim mipunto As New Point(0, 0)
' Create a Bitmap object from an image file.
Dim myBitmap As Bitmap
' Get the color of a pixel wiStringthin myBitmap.
Dim archivo As String

archivo = "..\"
Select Case ListBox1.SelectedItem
Case "imagen1.bmp"
archivo = archivo + "imagen1.bmp"
Case "imagen2.bmp"
archivo = archivo + "imagen2.bmp"
Case "imagen3.bmp"
archivo = archivo + "imagen3.bmp"
End Select
'dibujar imagen
myBitmap = Bitmap.FromFile(archivo)
g.DrawImage(myBitmap, mipunto)

End Sub

Ejecucin y cdigo para el botn brillo

40

MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button4.Click
Dim g As Graphics = Me.CreateGraphics
Dim mipunto As New Point(0, 0)
' Create a Bitmap object from an image file.
Dim myBitmap, mybitmapf As Bitmap
' Get the color of a pixel within myBitmap.
Dim pixelColor, pixelColor1 As Color
Dim
Dim
Dim
Dim
Dim

resx, resy, x, y As Integer


archivo As String
alfa, rojo, verde, azul As Integer
cad As String
variacion As Byte

archivo = "..\"
Select Case ListBox1.SelectedItem
Case "imagen1.bmp"
archivo = archivo + "imagen1.bmp"
Case "imagen2.bmp"
archivo = archivo + "imagen2.bmp"
Case "imagen3.bmp"
archivo = archivo + "imagen3.bmp"
End Select
'dibujar imagen
myBitmap = Bitmap.FromFile(archivo)
g.DrawImage(myBitmap, mipunto)
Mg. Abraham Gamarra Moreno

41

cad = InputBox("ingrese un valor de 1 a 255 ", , , , )


variacion = Val(cad)
' copiar mapa de bits
mybitmapf = myBitmap
'encontrar dimensiones en pixeles
resy = myBitmap.Height
resx = myBitmap.Width
For x = 0 To resx - 1
For y = 0 To resy - 1
pixelColor = myBitmap.GetPixel(x, y)
azul = pixelColor.B
verde = pixelColor.G
rojo = pixelColor.R
azul = azul + variacion
verde = verde + variacion
rojo = rojo + variacion
If (rojo > 255) Then rojo =
If (verde > 255) Then verde
If (azul > 255) Then azul =
If (rojo < 0) Then rojo = 0
If (verde < 0) Then verde =
If (azul < 0) Then azul = 0

255
= 255
255
0

mybitmapf.SetPixel(x, y, pixelColor1.FromArgb(rojo,
verde, azul))
Next
Next
g.DrawImage(mybitmapf, mipunto)
End Sub

Ejecucin y cdigo para el botn Oscuridad

42

MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button5.Click
Dim g As Graphics = Me.CreateGraphics
Dim mipunto As New Point(0, 0)
' Create a Bitmap object from an image file.
Dim myBitmap, mybitmapf As Bitmap
' Get the color of a pixel within myBitmap.
Dim pixelColor, pixelColor1 As Color
Dim
Dim
Dim
Dim
Dim

resx, resy, x, y As Integer


archivo As String
alfa, rojo, verde, azul As Integer
cad As String
variacion As Byte

archivo = "..\"
Select Case ListBox1.SelectedItem
Case "imagen1.bmp"
archivo = archivo + "imagen1.bmp"
Case "imagen2.bmp"
archivo = archivo + "imagen2.bmp"
Case "imagen3.bmp"
archivo = archivo + "imagen3.bmp"
End Select
'dibujar imagen
myBitmap = Bitmap.FromFile(archivo)
g.DrawImage(myBitmap, mipunto)
cad = InputBox("ingrese un valor de 1 a 255 ", , , , )
Mg. Abraham Gamarra Moreno

43

variacion = Val(cad)
' copiar mapa de bits
mybitmapf = myBitmap
'encontrar dimensiones en pixeles
resy = myBitmap.Height
resx = myBitmap.Width
For x = 0 To resx - 1
For y = 0 To resy - 1
pixelColor = myBitmap.GetPixel(x, y)
azul = pixelColor.B
verde = pixelColor.G
rojo = pixelColor.R
azul = azul - variacion
verde = verde - variacion
rojo = rojo - variacion
If (rojo > 255) Then rojo =
If (verde > 255) Then verde
If (azul > 255) Then azul =
If (rojo < 0) Then rojo = 0
If (verde < 0) Then verde =
If (azul < 0) Then azul = 0

255
= 255
255
0

mybitmapf.SetPixel(x, y, pixelColor1.FromArgb(rojo,
verde, azul))
Next
Next
g.DrawImage(mybitmapf, mipunto)
End Sub

44

MANIPULACION BASICA DE IMGENES EN EL VISUAL BASIC .NET

Das könnte Ihnen auch gefallen