Vous êtes sur la page 1sur 11

ESTUDIANTE:

JUANA ALBURQUERQUE MAMANI




FACULTAD: ING. SISTEMAS E INFORMATICA


CICLO: VI


INFORME ACADMICO




CLASES Y ESTRUCTURAS MS IMPORTANTES DE
NAMESPACE SYSTEM.DRAWING.












Introduccin
GDI+ 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 cubos
En el presente informe mostramos como manejar esta clase y cuando es mejor
evitarla.
System.Drawing (Espacio de nombres)
La clase Graphics proporciona mtodos para dibujar en el dispositivo de
pantalla. Clases como Rectangle y Point encapsulan primitivos de GDI+. La clase Pen se
utiliza para dibujar lneas y curvas, mientras que las clases derivadas de la clase
abstracta Brush se 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 CLASES
BITMAP
Encapsula 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.

BitmapSuffixInSameAssemblyAttribute
Especifica 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.

BitmapSuffixInSatelliteAssemblyAttribute
Especifica 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.

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

Brushes
Pinceles de todos los colores estndar. Esta clase no puede heredarse.

BufferedGraphics
Proporciona un bfer grfico para el doble bfer.

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

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

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

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

FontConverter
Convierte objetos Font de un tipo de datos a otro.

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

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

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

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

Icon
Representa 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.

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

Image
Clase base abstracta que proporciona funcionalidad para las clases descendentes



Bitmap y Metafile.

ImageAnimator
Da animacin a una imagen que tiene marcos basados en tiempo.

ImageConverter
ImageConverter 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.

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


Pens
Lpices de todos los colores estndar. Esta clase no puede heredarse.

PointConverter
Convierte objetos Point de un tipo de datos en otro.

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

Region
Describe 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.

SizeFConverter
Convierte el tipo de los objetos SizeF en otro.

SolidBrush
Define 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.



StringFormat
Encapsula 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.

SystemBrushes
Cada una de las propiedades de la clase

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

SystemColors
Cada una de las propiedades de la clase

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

Windows.

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




SystemIcons
Cada 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.

SystemPens
Cada 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.

TextureBrush
Cada 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.

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



ESTRUCTURAS

CharacterRange
Especifica un intervalo de posiciones de caracteres en una cadena.

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

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

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

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

RectangleF
Almacena 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.

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

SizeF
Almacena 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.NET
Con 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
para System.Drawing y GDI+.

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.NET nunca.

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 mediante IPC (interprocess
communication).
Migrar la lgica de generacin de grficos a una aplicacin Silverlight
(particularmente interesante en este aspecto es Silverlight 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:

<style type="text/css">
.whitebackground { background-color:#ffffff;}
</style>

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.pdf
http://msdn.microsoft.com/es-es/library/system.drawing(v=vs.110).aspx
http://blogs.msdn.com/b/daniem/archive/2009/04/14/porque-no-debo-utilizar-las-
clases-de-system.drawing-en-aplicaciones-asp.net.aspx

Vous aimerez peut-être aussi