Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
________________________________________________________________________
Contenido
Introduccin
Captulo 1 GDI+: La nueva Generacin en Interfases grficas
1.1 Superficies de dibujo y sistema de Coordenadas en GDI+
1.1.1 Superficies de dibujo
1.1.2 Sistemas de Coordenadas
1.2 Estructuras Esenciales
1.2.1 Puntos bidimensionales
1.2.1.1 Constructores pblicos
1.2.1.2 Campos pblicos
1.2.1.3 Propiedades publicas
1.2.1.4 Mtodos pblicos
1.2.1.5 Operadores pblicos y conversiones de tipo
1.2.1.6 Mtodos protegidos
1.2.2 Estructura Size (tamaos)
1.2.2.1 Constructores pblicos
1.2.2.2 Campos pblicos
1.2.2.3 Propiedades publicas
1.2.2.4 Mtodos pblicos
1.2.2.5 Operadores pblicos y conversin de tipos
1.2.2.6 Mtodos protegidos
1.2.3 Estructura Rectangle (rectngulos)
1.2.3.1 Constructores pblicos
1.2.3.2 Campos pblicos
1.2.3.3 Propiedades publicas
1.2.3.4 Mtodos pblicos
1.2.3.5 Operadores pblicos
1.2.3.6 Mtodos protegidos
1.2.4 Estructura Color (colores)
1.2.4.1 Campos pblicos
1.2.4.2 Propiedades publicas
1.2.4.3 Mtodos pblicos
1.2.4.4 Operadores pblicos
1.2.4.5 Mtodos protegidos
1.2.5 Clase TypeConverter
1.2.5.1 Constructores pblicos
1.2.5.2 Mtodos pblicos
1.2.6 Clase ColorConverter
1.2.6.1 Constructores pblicos
1.2.6.2 Mtodos pblicos
1.2.6.3 Mtodos protegidos
1.2.7 Clase ColorTranslator
1.2.7.1 Mtodos pblicos
3
Jenaro C. Paz
________________________________________________________________________
4
Textos Universitarios / Serie Docencia
________________________________________________________________________
3.1.2.1.1.8 Dibujando trazados sobre un lienzo
3.1.2.1.1.9 Dibujando iconos sobre un lienzo
3.1.2.1.1.10 Dibujando imgenes sobre un lienzo
3.1.2.1.1.11 Dibujando pasteles sobre un lienzo
3.1.2.1.1.12 Dibujando cadenas sobre un lienzo
3.1.2.2 Mtodos Pblicos para rellenar
3.1.2.2.1 Rellenando el interior de formas dibujadas en un lienzo
3.1.2.2.1.1 Rellenando curvas cerradas
3.1.2.2.1.2 Rellenando elipses
3.1.2.2.1.3 Rellenando trazos
3.1.2.2.1.4 Rellenando pasteles
3.1.2.2.1.5 Rellenando polgonos
3.1.2.2.1.6 Rellenando un rectngulo
Captulo 4 Pinceles y Plumas
4.1 Uso de pinceles en GDI+
4.1.1 La clase Brush
4.1.1.1 Mtodos pblicos
4.1.1.2 Mtodos protegidos
4.1.2 La clase SolidBrush
4.1.2.1 Constructores pblicos
4.1.2.2 Propiedades pblicas
4.1.2.3 Mtodos pblicos
4.1.2.4 Mtodos protegidos
4.1.2.5 El uso de SolidBrush en una forma Web
4.1.3 La clase TextureBrush
4.1.3.1 Constructores pblicos
4.1.3.2 Propiedades publicas
4.1.3.3 Mtodos pblicos
4.1.3.4 Mtodos protegidos
4.1.3.5 El uso de TextureBrush en una forma Web
4.1.4 La clase HatchBrush
4.1.4.1 Constructores pblicos
4.1.4.2 Propiedades pblicas
4.1.4.3 Mtodos pblicos
4.1.4.4 Mtodos protegidos
4.1.4.5 El uso de HatchBrush en una forma Web
4.1.5 La clase LinearGradientBrush
4.1.5.1 Constructores pblicos
4.1.5.2 Propiedades pblicas
4.1.5.3 Mtodos pblicos
4.1.5.4 Mtodos protegidos
4.1.5.5 El uso de LinearGradientBrush en una forma Web
4.1.6 La clase PathGradientBrush
4.1.6.1 Constructores pblicos
4.1.6.2 Propiedades pblicas
4.1.6.3 Mtodos pblicos
5
Jenaro C. Paz
________________________________________________________________________
4.1.6.4 Mtodos protegidos
4.1.6.5 El uso de PathGradientBrush en una forma Web
4.2 Uso de plumas en GDI+
4.2.1 Clase Pens
4.2.1.1 Propiedades pblicas
4.2.2 Clase Pen
4.2.2.1 Constructores pblicos
4.2.2.2 Propiedades pblicas
4.2.2.3 Mtodos pblicos
4.2.2.4 Mtodos protegidos
4.2.2.5 El uso de diferente tipo de plumas en una forma Web
4.3 Transformaciones con plumas
4.4 Transformaciones con pinceles
4.4.1 Transformaciones para TextureBrush
4.4.2 Transformaciones para LinearGradientBrush
4.4.3 Transformaciones para PathGradientBrush
4.5 Plumas y pinceles del Sistema
4.5.1 Colores del Sistema
4.5.1.1 Clase SystemColors
4.5.1.1.1 Propiedades pblicas
4.5.2 Plumas del Sistema
4.5.2.1 Clase SystemPens
4.5.2.1.1 Propiedades pblicas
4.5.3 Pinceles del Sistema
4.5.3.1 Clase SystemBrushes
4.5.3.1.1 Propiedades pblicas
Captulo 5 Fuentes y Texto
5.1 Trabajando con Fuentes
5.1.1 Clase FontFamily
5.1.1.1 Constructores pblicos
5.1.1.2 Propiedades pblicas
5.1.1.3 Mtodos pblicos
5.1.1.4 Mtodos protegidos
5.1.2 Clase Font
5.1.2.1 Constructores pblicos
5.1.2.2 Propiedades pblicas
5.1.2.3 Mtodos pblicos
5.1.2.4 Mtodos protegidos
5.1.3 Miembros de la enumeracin FontStyle
5.1.4 Miembros de la enumeracin GraphicsUnit
5.2 Trabajando con Cadenas de Caracteres
5.2.1 Dibujando Cadenas de caracteres con formato
5.2.1.1 Clase StringFormat
5.2.1.1.1 Constructores pblicos
5.2.1.1.2 Propiedades pblicas
5.2.1.1.3 Mtodos pblicos
6
Textos Universitarios / Serie Docencia
________________________________________________________________________
5.2.1.1.4 Mtodos protegidos
5.2.1.2 Alineacin y recorte de Cadenas de caracteres
5.2.1.2.1 Enumeracin StringAlignment
5.2.1.2.1.1 Miembros
5.2.1.2.2 Enumeracin StringTrimming
5.2.1.2.2.1 Miembros
5.2.1.3 Uso de tabuladores para el texto
5.2.1.4 Formato en el Texto
5.2.1.4.1 Enumeracin StringFormatFlags
5.2.1.4.1.1 Miembros
5.2.1.5 Presentacin de Texto con calidad
5.2.1.5.1 Enumeracin TextRenderingHint
5.2.1.5.1.1 Miembros
5.2.1.6 Transformando Texto
7
Jenaro C. Paz
________________________________________________________________________
8.1.3.1 Constructores pblicos
8.1.3.2 Propiedades pblicas
8.1.3.3 Mtodos pblicos
8.1.3.4 Mtodos protegidos
8.2 Procesamiento de imgenes
8.2.1 Modificacin de Color
8.2.1.1 Deteccin de orillas
8.2.1.2 Escala de grises
8.2.1.3 Inversin
8.2.1.4 Brillo
8.2.1.5 Contraste
8.2.1.6 Modificacin de Colores
8.2.2 Modificacin de la Imagen
8.2.2.1 Inversin de Imagen
8.2.2.2 Reflexin de Imagen
8.2.2.3 Escalamiento
8.2.2.4 Rotacin de Imagen
8.2.2.5 Perspectiva Horizontal
8.2.2.6 Perspectiva Vertical
8.2.2.7 Inclinacin Horizontal
8.2.2.8 Inclinacin Vertical
8.2.3 generacin de efectos por Convolucin
8.2.3.1 Borrado Gaussiano (Blur)
8.2.3.2 Emboss
8.2.3.3 Sharpen
8.2.3.4 Smooth
8.2.3.5 Mean Renoval
8.2.3.6 Edge Detection Quick
8.2.3.7 Deteccin de orillas por Convolucin mtodo Sobel
8.2.3.8 Deteccin de orillas por Convolucin mtodo Prewitt
8.2.3.9 Deteccin de orillas por Convolucin mtodo Kirsh
8
Textos Universitarios / Serie Docencia
________________________________________________________________________
Introduccin1
Dentro del contexto de las nuevas Tecnologas de Microsoft, para el desarrollo de una
Aplicacin Web utilizamos
Framework.NET de Microsoft
Servidor MSSQL, para las bases de datos, tablas y procedimientos almacenados
Visual Studio.NET que es un IDE para el desarrollo de aplicaciones con
tecnologas .NET
1
Traduccin de la referencia en lnea de MSDN (Microsoft Developer Network) por J.C. Paz
http://msdn2.microsoft.com/en-us/library/zw4w595w.aspx junio 3 de 2006
9
Jenaro C. Paz
________________________________________________________________________
10
Textos Universitarios / Serie Docencia
________________________________________________________________________
11
Jenaro C. Paz
________________________________________________________________________
Aunque el motor de tiempo de ejecucin est diseado para el software del futuro,
tambin es compatible con el software actual y el software antiguo. La interoperabilidad
entre el cdigo administrado y no administrado permite que los programadores continen
utilizando los componentes COM y las DLL que necesiten.
12
Textos Universitarios / Serie Docencia
________________________________________________________________________
Aplicaciones de consola
Aplicaciones GUI de Windows (Windows Forms)
Aplicaciones de ASP.NET
Servicios Web XML
Servicios de Windows
Por ejemplo, las clases de Windows Forms son un conjunto completo de tipos
reutilizables que simplifican enormemente el desarrollo de interfaces GUI para Windows.
Si escribe una aplicacin Web Form de ASP.NET, puede utilizar las clases de Web
Forms.
Otro tipo de aplicacin cliente es el tradicional control ActiveX (reemplazado ahora por
el control administrado de Windows Forms) implementado en Internet como una pgina
Web. Esta aplicacin es muy parecida a otras aplicaciones cliente: se ejecuta de forma
nativa, tiene acceso a los recursos locales e incluye elementos grficos.
13
Jenaro C. Paz
________________________________________________________________________
Por ejemplo, .NET Framework proporciona propiedades simples para ajustar los atributos
visuales asociados con los formularios. En determinadas circunstancias, el sistema
operativo subyacente no permite cambiar estos atributos directamente y, entonces,
Framework.NET vuelve a crear los formularios de forma automtica. sta es una de las
mltiples maneras en que Framework.NET integra la interfaz del programador, con lo
que la creacin de cdigo resulta ms sencilla y ms coherente.
A diferencia de los controles ActiveX, los controles de Windows Forms tienen acceso al
equipo de del usuario con semiconfianza. Esto significa que el cdigo binario o que se
ejecuta de forma nativa puede tener acceso a algunos de los recursos del sistema del
usuario (como elementos de la GUI y acceso limitado a los archivos) sin tener acceso ni
comprometer los dems recursos. Debido a la seguridad de acceso a cdigo, muchas
aplicaciones que antes era necesario instalar en el sistema de un usuario, ahora se pueden
implementar con seguridad a travs del Web. Las aplicaciones pueden tener las
caractersticas de una aplicacin local a la vez que se implementan como una pgina
Web.
14
Textos Universitarios / Serie Docencia
________________________________________________________________________
Los servicios Web XML, que constituyen una evolucin importante de la tecnologa
basada en el Web, son componentes distribuidos de aplicaciones de servidor similares a
los sitios Web. Sin embargo, a diferencia de las aplicaciones basadas en el Web, los
componentes de servicios Web XML no tienen interfaz de usuario y no estn orientados a
exploradores como Internet Explorer y Netscape Navigator. En su lugar, los servicios
Web XML constan de componentes de software reutilizables diseados para que los
utilicen otras aplicaciones, como aplicaciones cliente tradicionales, aplicaciones basadas
en el Web o, incluso, otros servicios Web XML. Como resultado, la tecnologa de
servicios Web XML est impulsando de manera rpida el desarrollo y la implementacin
de aplicaciones hacia el entorno altamente distribuido de Internet.
15
Jenaro C. Paz
________________________________________________________________________
Por ltimo, al igual que los formularios Web en un entorno administrado, el servicio Web
XML se ejecutar con la velocidad del lenguaje mquina nativo mediante la
comunicacin escalable de IIS.
16
Textos Universitarios / Serie Docencia
________________________________________________________________________
Captulo 12
GDI+: La nueva Generacin en Interfases grficas
Comenzaremos diciendo que el GDI+ de Microsoft es la parte del los sistemas operativos
Windows XP o Windows Server 2003 que provee grficos vectoriales en dos
dimensiones, compatibilidad de imgenes y tipografa. Es tambin una mejora del GDI
incluida en los sistemas operativos de Windows anteriores a XP. GDI+ reside en un
conjunto de clases que presentan compatibilidad con la versin anterior de GDI y
mediante esta biblioteca de clases se pueden escribir aplicaciones independientes de
dispositivos, lo que permite al programador hacer llamadas a los mtodos proporcionados
por las clases de GDI+ y estos mtodos a su vez se encargan de llamar a los controladores
de dispositivos necesarios para que la aplicacin se ejecute sin problema. GDI+ est
disponible como un redistribuible para Windows NT 4.0 SP6, Windows 2000, Windows
98 y Windows Me. Para descargar el ltimo redistribuible, entre al sitio:
http://www.microsoft.com/downloads
Adems, GDI+ es una componente del CLR (Common Language Runtime) del
Framework .NET de Microsoft. Este ultimo que es descargable gratuitamente desde:
http://msdn.microsoft.com/netframework/
2
Traduccin de la referencia en lnea de MSDN (Microsoft Developer Network) por J.C. Paz
http://msdn.microsoft.com/library/en-us/gdicpp/GDIPlus/AboutGDIPlus/IntroductiontoGDIPlus junio 3 de
2006.
17
Jenaro C. Paz
________________________________________________________________________
18
Textos Universitarios / Serie Docencia
________________________________________________________________________
Administracin de color
Las clases de GDI+ residen en los siguientes seis espacios de nombres System.Drawing,
System.Drawing.Design, System.Drawing.Drawing2D, System.Drawing.Imaging,
System.Drawing.Printing y System.Drawing.Text. Todos estos espacios de nombres
se encuentran en el ensamblado System.Drawing.DLL.
Para usar cualquier clase definida en estos espacios de nombres, hay que incluirlos en su
aplicacin.
19
Jenaro C. Paz
________________________________________________________________________
El lienzo (canvas), que viene siendo el espacio donde los diferentes objetos se
dibujarn, en una aplicacin Web, la forma Web es el lienzo.
Cada superficie de dibujo cuenta con cuatro propiedades: ancho, alto, resolucin y
profundidad de color.
El ancho y alto de una superficie determinan su tamao y estos estn
especificados por el nmero de pixeles tanto horizontal como verticalmente.
Entendemos un pxel como el elemento ms pequeo que participa en un proceso
de dibujo para desplegar objetos grficos o imgenes en la pantalla. La densidad
de pixeles se representa por el valor de puntos por pulgada (dpi).
3
Traduccin de la referencia en lnea de MSDN (Microsoft Developer Network) por J.C. Paz
http://msdn.microsoft.com/library/en-us/gdicpp/GDIPlus/aboutGDIPlus/
coordinatesystemsandtransformations/ typesofcoordinatesystems.asp junio 3 de 2006
20
Textos Universitarios / Serie Docencia
________________________________________________________________________
Puntos con valores negativos de x y no son visibles en este sistema de coordenadas, sin
embargo mediante transformaciones puede trasladarse el origen para que objetos con
valores negativos puedan mostrarse.
21
Jenaro C. Paz
________________________________________________________________________
Las coordenadas de los puntos extremos en los tres sistemas de coordenadas son:
g.TranslateTransform(50.0F,50.0F);
g.DrawLine(myPen,0,0,100,150);
22
Textos Universitarios / Serie Docencia
________________________________________________________________________
La transformacin que convierte al sistema de coordenadas de pgina al sistema de
dispositivo se llama transformacin de pgina, tambin est sustentada por el objeto
Graphics mediante las propiedades PageUnit y PageScale conteniendo tambin las
propiedades DpiX y DpiY, que sirven para investigar el nmero de pixeles por pulgada
tanto en el eje x como en el y.
donde myPen y myPen2 deben estar definidas de la manera anterior para que tenga un
grosor de 2 pixeles y 1 pixel y no de 2 y 1 pulgadas
GraphicsUnit4 es una enumeracin que contiene los elementos:
4
Traduccin de la referencia en lnea de MSDN (Microsoft Developer Network) por J.C. Paz
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemDrawingGraphicsUnitClassTopic.asp
junio 3 2006
23
Jenaro C. Paz
________________________________________________________________________
Montn o pila?
Cuando se realiza una llamada con el operador New sobre una clase, se asigna espacio en
el montn (heap). Sin embargo, cuando se crea una instancia de una estructura, el espacio
se asigna en la pila (stack). De esta forma, se consigue mejorar el rendimiento. Adems, a
24
Textos Universitarios / Serie Docencia
________________________________________________________________________
diferencia de las clases, no tendr que tratar con referencias a instancias de estructuras. Se
trabaja directamente con la instancia de la estructura. Debido a esto, cuando se pasa una
estructura a un mtodo, se pasa por valor en vez de como una referencia.
Constructores y herencia
Las estructuras pueden declarar constructores, pero deben utilizar parmetros. Es un error
declarar un constructor predeterminado (sin parmetros) para una estructura. Los
miembros de una estructura no pueden tener inicializadores. Siempre existe un
constructor predeterminado que inicializa los miembros de la estructura con sus valores
predeterminados.
A diferencia de las clases, para las estructuras no existe herencia. Una estructura no
puede heredar de otra estructura o clase, ni puede ser la base de una clase. Sin embargo,
las estructuras heredan de la clase base object. Una estructura puede implementar
interfases del mismo modo que las clases.
Conclusin
Las estructuras son sencillas de utilizar y pueden resultar muy tiles en ocasiones.
Simplemente, tenga en cuenta que se crean en la pila y que no se utilizan referencias a
ellas, sino que se trata directamente con ellas. Siempre que necesite un tipo que se utilice
a menudo y que trate con valores de datos, las estructuras constituyen una excelente
opcin.
Cuando se programa para ambientes grficos es muy comn y casi necesario trabajar con
los siguientes cuatro tipos de datos (definidos por estructuras):
Estas siete estructuras junto con CharacterRange son las ocho nicas estructuras
definidas en el espacio de nombres System.Drawing5. Aunque en C# las clases y las
estructuras son muy parecidas ya que sus mtodos y campos (al igual que propiedades y
eventos) son privados en ambas, difieren en que las clases son tipos referencia (o
apuntadores a bloques de memoria) y las estructuras son tipos valor as como los tipos
bsicos
-Boolean, Byte, Char, Decimal, Double, Int16, Int32, Int64, SByte, Single, UInt16,
UInt32, UInt64-. Todas estas estructuras (vase Figura 1.2) descienden de
5
Traduccin de la referencia en lnea de MSDN (Microsoft Developer Network) por J.C. Paz
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemDrawing.asp junio 3 2006
25
Jenaro C. Paz
________________________________________________________________________
Ejemplos:
26
Textos Universitarios / Serie Docencia
________________________________________________________________________
objeto Point.
Ejemplos:
Ejemplos:
27
Jenaro C. Paz
________________________________________________________________________
Ejemplos:
28
Textos Universitarios / Serie Docencia
________________________________________________________________________
Ejemplos:
Ejemplos:
29
Jenaro C. Paz
________________________________________________________________________
cercanos.
ToString Reemplazado. Crea una cadena legible para
el usuario que representa este Size.
Truncate Convierte la estructura SizeF especificada
en una estructura Size mediante el
truncamiento de los valores de la estructura
Size a los valores enteros inferiores
siguientes.
Ejemplos:
Ejemplos:
30
Textos Universitarios / Serie Docencia
________________________________________________________________________
Ejemplos:
Ejemplos:
31
Jenaro C. Paz
________________________________________________________________________
Ejemplos:
int Y1 = aRect.Top;
int Y2 = aRect.Bottom;
int X1 = aRect.Left;
int X2 = aRect.Right;
int aWidth = aRect.Width;
int aHeight = aRect.Height;
Point onePoint = new Point(20,20);
Size theSize = new Size(73,127);
Rectangle cRect = Rectangle.Empty;
If(cRect.IsEmpty)
{
cRect.X = X1;
cRect.Y = Y1;
cRect.Size=theSize;
32
Textos Universitarios / Serie Docencia
________________________________________________________________________
}
Rectangle dRect = Rectangle.Empty;
dRect.Location= onePoint;
dRect.Width = 100;
dRect.Height = 200;
33
Jenaro C. Paz
________________________________________________________________________
Ejemplos:
Ejemplos:
34
Textos Universitarios / Serie Docencia
________________________________________________________________________
35
Jenaro C. Paz
________________________________________________________________________
colores predefinidos.
IsSystemColor Especifica si esta estructura Color es un
color del sistema. 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.
Name 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.
R Obtiene el valor del componente rojo de
esta estructura Color.
36
Textos Universitarios / Serie Docencia
________________________________________________________________________
37
Jenaro C. Paz
________________________________________________________________________
Ejemplos:
38
Textos Universitarios / Serie Docencia
________________________________________________________________________
Color myColor = Color.FromArgb(255,200,0,120);
//Obtener matiz, saturacin y brillo
float matiz = myColor.GetHue();
float saturacion = myColor.GetSaturation();
float brillo = myColor.GetBrightness();
string str2 = Matiz: + matiz.ToString() + \n +
Saturacion: +saturacion.ToString() + \n +
Brillo: +brillo.ToString();
Proporciona un modo unificado para convertir los tipos de valores en otros tipos, as
como para obtener acceso a valores estndar y a subpropiedades.
6
Traduccin de la referencia en lnea de MSDN (Microsoft Developer Network) por J.C. Paz
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemcomponentmodeltypeconverterclasstopic.asp
junio 3 de 2006
39
Jenaro C. Paz
________________________________________________________________________
40
Textos Universitarios / Serie Docencia
________________________________________________________________________
La clase ColorConverter que ahora veremos se usa para convertir colores de un tipo de
datos a otro. Esta clase se hereda de la clase TypeConverter, quien define la
funcionalidad en la conversin de los tipos y la forma de acceder a los valores y
propiedades de ellos. En el Captulo 5 Fuentes y Texto veremos la clase FontConverter.
Convierte colores de un tipo de datos a otro. Se tiene acceso a esta clase mediante
TypeDescriptor.
7
Traduccin de la referencia en lnea de MSDN (Microsoft Developer Network) por J.C. Paz
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemdrawingcolorconverterclasstopic.asp
junio 3 2006
41
Jenaro C. Paz
________________________________________________________________________
42
Textos Universitarios / Serie Docencia
________________________________________________________________________
Ejemplos
C#
String strColor = #FF00FF
ColorConverter colorConverter = new ColorConverter();
Color myClr = (Color)colorConverter.ConvertFromString(strColor);
8
Traduccin de la referencia en lnea de MSDN (Microsoft Developer Network) por J.C. Paz
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemdrawingcolortranslatorclasstopic.asp
junio 3 de 2006
43
Jenaro C. Paz
________________________________________________________________________
44
Textos Universitarios / Serie Docencia
________________________________________________________________________
Ejemplos
C#
// Crear una representacion en cadena de caracteres de un color HTML
string htmlColor = "Blue";
// Traducir htmlColor a una estructura Color de GDI+
Color myColor = ColorTranslator.FromHtml(htmlColor);
// rellenar un rectangulo con myColor.
g.FillRectangle(new SolidBrush(myColor),0,0,100,100);
45
Jenaro C. Paz
________________________________________________________________________
46