7. DRAWING1

download 7. DRAWING1

of 11

Transcript of 7. DRAWING1

ESTUDIANTE: Juana Alburquerque Mamani

FACULTAD: ING. SISTEMAS E INFORMATICA

CICLO: VI

INFORME ACADMICO

CLASES Y ESTRUCTURAS MS IMPORTANTES DE NAMESPACE SYSTEM.DRAWING.

IntroduccinGDI+ es la evolucin de GDI, que resultaba compleja de utilizar. En Visual Studio .Net, se puede decir que Microsoft ha cuidado, simplificado y mejorado la manera de trabajar con objetos grficos.

El namespace System.Drawing proporciona acceso a la funcionalidad bsica del GDI+.Adems se proporcionan otras clases y estructuras en los namespace System.Text, System.Printing, System.Imaging, System,Drawing2D y System.Design.Con esto Microsoft ha simplificado el uso de grficos de formas simples como lneas, curvas hasta diseo de grficos complejos como cubosEn el presente informe mostramos como manejar esta clase y cuando es mejor evitarla.System.Drawing (Espacio de nombres)La claseGraphicsproporciona mtodos para dibujar en el dispositivo de pantalla.Clases comoRectangleyPointencapsulan primitivos de GDI+.La clasePense utiliza para dibujar lneas y curvas, mientras que las clases derivadas de la clase abstractaBrushse utilizan para rellenar el interior de las formas.Grhapics encapsula las superficies de dibujo de los formularios. Antes de dibujar cualquier objeto grfico un punto, una elipse o un rectngulo, etc. es necesario crear u obtener el objeto Graphics de la superficie. En general, se utiliza el evento Paint del formulario para obtener una referencia al objeto Graphics del formulario porque cuando ocurre ese evento se le pasa como argumento al mtodo manejador un objeto de la clase PaintEventArgs que tiene una propiedad que tambin se llama Graphics que devuelve el objeto Graphics del formulario.

private void formulario_Paint(object sender, PaintEventArgs e){Graphics g = e.Graphis;// Codigo ...}PRINCIPALES CLASESBITMAPEncapsula mapas de bits de GDI+, que estn formados por los datos de pxeles de una imagen de grficos y sus atributos. Bitmap es un objeto que se utiliza para trabajar con imgenes definidas mediante datos de pxeles.

BitmapSuffixInSameAssemblyAttributeEspecifica que, al interpretar ToolboxBitmapAttribute las declaraciones, el ensamblado debe buscar los recursos indicados en el mismo ensamblado, pero con el BitmapSuffix anexado al nombre del archivo declarado el valor de configuracin.

BitmapSuffixInSatelliteAssemblyAttributeEspecifica que, al interpretar ToolboxBitmapAttribute las declaraciones, el ensamblado debe buscar los recursos indicados en un ensamblado satlite, pero con el BitmapSuffix anexado al nombre del archivo declarado el valor de configuracin.

BRUSHDefine los objetos que se utilizan para rellenar formas de grficos, por ejemplo rectngulos, elipses, grficos circulares y rutas.

BrushesPinceles de todos los colores estndar. Esta clase no puede heredarse.

BufferedGraphicsProporciona un bfer grfico para el doble bfer.

BufferedGraphicsContextProporciona los mtodos para crear bferes de grficos que se pueden utilizar para el almacenamiento en doble bfer.BufferedGraphicsManagerProporciona acceso al principal objeto de contexto grfico almacenado en bfer para el dominio de aplicacin.

ColorConverterConvierte colores de un tipo de datos a otro. Se obtiene acceso a esta clase a travs de TypeDescriptor.

ColorTranslatorConvierte colores a y de estructuras Color GDI+. Esta clase no puede heredarse.

FontDefine un formato concreto para el texto, incluidos el nombre de fuente, el tamao y los atributos de estilo. Esta clase no puede heredarse.

FontConverterConvierte objetos Font de un tipo de datos a otro.

FontConverter.FontNameConverterInfraestructura FontConverter.FontNameConverter es un convertidor de tipos que se utiliza para Convertir un nombre de fuente en otras representaciones y viceversa.

FontConverter.FontUnitConverterInfraestructura. Convierte unidades de fuente en otros tipos de unidad y viceversa.

FontFamilyDefine un grupo de tipos de letra que tienen un diseo bsico parecido y algunas diferencias de estilo. Esta clase no puede heredarse.

GraphicsEncapsula una superficie de dibujo de GDI+. Esta clase no puede heredarse.

IconRepresenta un icono de Windows, que es una pequea imagen de mapa de bits que se usa para representar un objeto. Los iconos se pueden considerar como mapas de bits transparentes, aunque su tamao lo determina el sistema.

IconConverterConvierte objetos Icon de un tipo de datos en otro. Se tiene acceso a esta clase mediante el objeto TypeDescriptor.

ImageClase base abstracta que proporciona funcionalidad para las clases descendentes

Bitmap y Metafile.

ImageAnimatorDa animacin a una imagen que tiene marcos basados en tiempo.

ImageConverterImageConverter es una clase que se puede utilizar para convertir objetos Image de un tipo de datos a otro. Se tiene acceso a esta clase mediante el objeto

TypeDescriptor.

ImageFormatConverter: ImageFormatConverter es una clase que se puede utilizar para convertir objetos ImageFormat de un tipo de datos a otro. Se tiene acceso a esta clase mediante el objeto TypeDescriptor.

PenDefine un objeto utilizado para dibujar lneas y curvas. Esta clase no puede heredarse.

PensLpices de todos los colores estndar. Esta clase no puede heredarse.

PointConverterConvierte objetos Point de un tipo de datos en otro.

RectangleConverterConvierte rectngulos de un tipo en otro tipo. Se obtiene acceso a esta clase a travs de TypeDescriptor.

RegionDescribe el interior de una forma grfica formada por rectngulos y rutas. Esta clase no puede heredarse.

SizeConverterSizeConverter es una clase que se utiliza para convertir un tipo de datos en otro. Se tiene acceso a esta clase mediante el objeto TypeDescriptor.

SizeFConverterConvierte el tipo de los objetos SizeF en otro.

SolidBrushDefine un pincel de un solo color. Los pinceles se utilizan para rellenar formas de grficos, por ejemplo rectngulos, elipses, grficos circulares y rutas. Esta clase no puede heredarse.

StringFormatEncapsula informacin de diseo del texto (como alineacin, orientacin y tabulaciones), manipulaciones de presentacin (como insercin de puntos suspensivos y sustitucin de dgitos nacionales) y caractersticas de OpenType. Esta clase no puede heredarse.

SystemBrushesCada una de las propiedades de la clase

SystemBrushes es una estructura SolidBrush que es el color de un elemento de presentacin de Windows.

SystemColorsCada una de las propiedades de la clase

SystemColors es una estructura Color que es el color de un elemento de presentacin de

Windows.

SystemFontsEspecifica las fuentes que se utilizan para mostrar texto en los elementos representados de Windows.

SystemIconsCada una de las propiedades de la clase SystemIcons es un objeto Icon de los iconos de todo del sistema de Windows. Esta clase no puede heredarse.

SystemPensCada una de las propiedades de la clase SystemPens es un objeto Pen que es el color de un elemento de presentacin de Windows y tiene un ancho de 1 pxel.

TextureBrushCada una de las propiedades de la clase

TextureBrush es un objeto Brush que utiliza una imagen para rellenar el interior de una forma. Esta clase no puede heredarse.

ToolboxBitmapAttributeLe permite especificar un icono para representar un control en un contenedor, como el Diseador de formularios de Microsoft Visual Studio.

ESTRUCTURAS

CharacterRangeEspecifica un intervalo de posiciones de caracteres en una cadena.

ColorRepresenta un color de ARGB (alfa, rojo, verde, azul).

PointRepresenta un par ordenado de coordenadas enteras x e y que define un punto en un plano bidimensional.

PointFRepresenta un par ordenado de coordenadas x e y de punto flotante que define un punto en un plano bidimensional.

RectangleAlmacena un conjunto de cuatro enteros que representan la posicin y el tamao de un rectngulo.

RectangleFAlmacena un conjunto de cuatro nmeros de punto flotante que representan la posicin y tamao de un rectngulo. Para las funciones de regin ms avanzadas, utilice un objeto Region.

SizeAlmacena un par ordenado de enteros, que especifican Height y Width.

SizeFAlmacena un par de nmeros de punto flotante ordenados, normalmente el ancho y el alto de un rectngulo.

Por qu no debo utilizar las clases de System.Drawing en aplicaciones ASP.NETCon cierta frecuencia tenemos casos de soporte de aplicaciones ASP.NET que dan problemas debido al uso de las clases de System.Drawing. El uso de del namespace System.Drawing no est soportado desde una aplicacin ASP.NET (o cualquier otro servicio de Windows), lo cual pilla por sorpresa a ms de uno. El motivo es que System.Drawing utiliza las APIs de GDI/GDI+ que no han sido diseadas para ejecutarse en un entorno de alta concurrencia y adems requieren ejecutarse una sesin de Windows interactiva. Esta limitacin est documentada en la referencia de MSDN paraSystem.DrawingyGDI+.En Windows Server 2003, Windows XP y anteriores, podamos utilizar parte de la funcionalidad de GDI desde una aplicacin ASP.NET siempre y cuando no se produjera interaccin con el monitor ni con ningn driver de video. Es decir, se podan utilizar objetos simples (lneas, formas en 2D, colores slidos, etc.) de forma soportada. Grficos ms complejos (por ejemplo grficos en 3D) que utilizan GDI+ no estaban soportados en ningn caso, al margen de que la aplicacin ASP.NET aparentemente pudiera llegar a funcionar. En todo caso mi recomendacin es que si no sabes exactamente lo que ests haciendo, no utilices System.Drawing en tus aplicaciones ASP.NETnunca.En Windows Server 2008 y Windows Vista, dado que los servicios ahora corren en la sesin 0 donde no se permite el acceso al driver de video (por diseo del sistema operativo), toda la funcionalidad de GDI+ deja de funcionar por completo ya que requiere acceso a dicho driver. En cierto modo esto es una ventaja ya que as no tenemos la falsa percepcin de que nuestra aplicacin est funcionando correctamente cuando no es as.Pero entonces cul es la forma correcta de crear/manipular grficos desde una aplicacin ASP.NET? No existe una respuesta sencilla, estas son algunas alternativas que se me ocurren:Desarrollar un ejecutable separado que corra en una sesin interactiva de Windows. Este proceso ser el encargado de la generacin/manipulacin de grficos, y se comunicar con el proceso de IIS medianteIPC (interprocess communication).Migrar la lgica de generacin de grficos a una aplicacin Silverlight (particularmente interesante en este aspecto esSilverlight 3, que est actualmente en Beta 1).Adicionalmente, y aunque no manipulemos grficos en nuestra aplicacin ASP.NET, todo el cdigo de servidor relacionado con la interfaz grfica de nuestra aplicacin web debe moverse a su equivalente en HTML/CSS en lugar de utilizar cdigo de servidor. Es decir, por ejemplo es aconsejable sustituir este tipo de cdigo de servidor:MyBase.BackColor = Drawing.Color.FromArgb(255, 255, 255)Por su equivalente en HTML/CSS combinado con cdigo de servidor:

.whitebackground{background-color:#ffffff;}

MyBase.CssClass = "whitebackground";

CONCLUSIONES

Las clases de System.Drawing deben manipular en ambientes compatibles de recursos de software (sistema operativo, navegador), hardware, monitor, tarjeta grfica, memoria, procesador, para que su visualizacin se correcta y uniforme en las maquinas clientes. Esto debe ser probado para no llevarnos sorpresas

BIBLIOGRAFA

http://www.ehu.es/mrodriguez/archivos/csharppdf/WinForms/GDI.pdfhttp://msdn.microsoft.com/es-es/library/system.drawing(v=vs.110).aspxhttp://blogs.msdn.com/b/daniem/archive/2009/04/14/porque-no-debo-utilizar-las-clases-de-system.drawing-en-aplicaciones-asp.net.aspx