System.Drawing Espacio de nombres

Proporciona acceso a la funcionalidad básica de gráficos de GDI+. Los System.Drawing.Drawing2Despacios de nombres , System.Drawing.Imagingy System.Drawing.Text proporcionan una funcionalidad más avanzada. Para conocer las limitaciones, consulte la sección Comentarios.

Clases

Bitmap

Encapsula un mapa de bits de GDI+, que está formado por los datos de píxeles de una imagen de gráficos y sus atributos. Bitmap es un objeto que se utiliza para trabajar con imágenes definidas mediante datos de píxeles.

BitmapSuffixInSameAssemblyAttribute

Especifica que, al interpretar las declaraciones de ToolboxBitmapAttribute, el ensamblado debe buscar los recursos indicados en el mismo ensamblado, pero con el valor de configuración de BitmapSuffix anexado al nombre de archivo declarado.

BitmapSuffixInSatelliteAssemblyAttribute

Especifica que, al interpretar las declaraciones de ToolboxBitmapAttribute, el ensamblado debe buscar los recursos indicados en un ensamblado satélite, pero con el valor de configuración de BitmapSuffix anexado al nombre de archivo declarado.

Brush

Define los objetos que se utilizan para rellenar formas de gráficos, por ejemplo rectángulos, elipses, gráficos circulares y rutas.

Brushes

Pinceles de todos los colores estándar. Esta clase no puede heredarse.

BufferedGraphics

Proporciona un búfer gráfico para el doble búfer.

BufferedGraphicsContext

Proporciona los métodos para crear búferes de gráficos que se pueden utilizar para el almacenamiento en doble búfer.

BufferedGraphicsManager

Proporciona acceso al principal objeto de contexto gráfico almacenado en búfer para el dominio de aplicación.

ColorConverter

Convierte los colores de un tipo de datos a otro. Obtenga acceso a esta clase a través de TypeDescriptor.

ColorTranslator

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

Font

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

FontConverter

Convierte objetos Font de un tipo de datos a otro.

FontConverter.FontNameConverter

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

FontConverter.FontUnitConverter

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

FontFamily

Define un grupo de tipos de letra que tienen un diseño básico 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 pequeña imagen de mapa de bits que se usa para representar un objeto. Los iconos se pueden considerar como mapas de bits transparentes, aunque su tamaño lo determina el sistema.

IconConverter

Convierte un objeto Icon de un tipo de datos a otro. Obtenga acceso a esta clase mediante el objeto TypeDescriptor.

Image

Clase base abstracta que proporciona funcionalidad para las clases descendentes Bitmap y Metafile.

ImageAnimator

Anima 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. Obtenga 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. Obtenga acceso a esta clase mediante el objeto TypeDescriptor.

Pen

Define un objeto usado para dibujar líneas y curvas. Esta clase no puede heredarse.

Pens

Lápices de todos los colores estándar. Esta clase no puede heredarse.

PointConverter

Convierte objetos Point de un tipo de datos en otro.

RectangleConverter

Convierte rectángulos de un tipo en otro tipo. Obtenga acceso a esta clase a través de TypeDescriptor.

Region

Describe el interior de una forma gráfica formada por rectángulos y rutas. Esta clase no puede heredarse.

SizeConverter

SizeConverter es una clase que se utiliza para convertir un tipo de datos en otro. Obtenga 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 gráficos, por ejemplo rectángulos, elipses, gráficos circulares y rutas. Esta clase no puede heredarse.

StringFormat

Encapsula información de diseño del texto (como alineación, orientación y tabulaciones), manipulaciones de presentación (como inserción de puntos suspensivos y sustitución de dígitos nacionales) y características 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 presentación de Windows.

SystemColors

Cada una de las propiedades de la clase SystemColors es una estructura Color que es el color de un elemento de presentación 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 presentación de Windows y tiene un ancho de 1 píxel.

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 Diseñador 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 y 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 posición y el tamaño de un rectángulo.

RectangleF

Almacena un conjunto de cuatro números de punto flotante que representan la posición y tamaño de un rectángulo. Para las funciones de región más avanzadas, use un objeto Region.

Size

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

SizeF

Almacena un par de números de punto flotante ordenados, normalmente el ancho y el alto de un rectángulo.

Interfaces

IDeviceContext

Define métodos para obtener y liberar un identificador existente de un contexto de dispositivo de Windows.

Enumeraciones

ContentAlignment

Especifica la alineación del contenido en la superficie de dibujo.

CopyPixelOperation

Determina cómo el color de origen en una operación de copiar píxeles se combina con el color de destino para que se genere el color final.

FontStyle

Especifica la información de estilo que se aplica al texto.

GraphicsUnit

Especifica la unidad de medida de unos datos concretos.

KnownColor

Especifica los colores del sistema conocidos.

RotateFlipType

Especifica cuánto se gira una imagen y el eje que se usa para voltearla.

StockIconId

Proporciona identificadores de icono para su uso con GetStockIcon(StockIconId, StockIconOptions).

StockIconOptions

Proporciona opciones para su uso con GetStockIcon(StockIconId, StockIconOptions).

StringAlignment

Determina la alineación de una cadena de texto en relación con el rectángulo de diseño correspondiente.

StringDigitSubstitute

La enumeración StringDigitSubstitute especifica cómo sustituir los dígitos de una cadena según la configuración regional o el idioma del usuario.

StringFormatFlags

Especifica la información de diseño y de presentación de las cadenas de texto.

StringTrimming

Especifica cómo recortar los caracteres de una cadena que no caben por completo en una forma de diseño.

StringUnit

Especifica la unidad de medida de una cadena de texto.

Delegados

Graphics.DrawImageAbort

Proporciona un método de devolución de llamada para decidir cuándo el método DrawImage debe cancelar anticipadamente la ejecución y dejar de dibujar una imagen.

Graphics.EnumerateMetafileProc

Proporciona un método de devolución de llamada para el método EnumerateMetafile.

Image.GetThumbnailImageAbort

Proporciona un método de devolución de llamada para decidir cuándo el método GetThumbnailImage(Int32, Int32, Image+GetThumbnailImageAbort, IntPtr) debe cancelar anticipadamente la ejecución.

Comentarios

Precaución

El System.Drawing espacio de nombres tiene algunas limitaciones para determinados sistemas operativos y tipos de aplicación.

  • En Windows, System.Drawing depende de la biblioteca nativa de GDI+, que se envía como parte del sistema operativo. Algunas SKU de Windows, como Windows Server Core o Windows Nano, no incluyen esta biblioteca nativa como parte del sistema operativo. Si usa este espacio de nombres y la biblioteca no se puede cargar, se producirán excepciones en tiempo de ejecución.

  • Algunos tipos del System.Drawing espacio de nombres se basan en GDI+, que no se admite en los servicios de Windows y ASP.NET Core y ASP.NET aplicaciones. Estos tipos están en el paquete NuGet System.Drawing.Common e incluyen System.Drawing.Bitmap y System.Drawing.Font. Sin embargo, los tipos primitivos del espacio de nombres, como System.Drawing.Color, System.Drawing.Size, System.Drawing.Pointy System.Drawing.Rectangle, se pueden usar en cualquier aplicación.

  • En .NET 5 y versiones anteriores, el paquete NuGet System.Drawing.Common funciona en Windows, Linux y macOS. Sin embargo, hay algunas diferencias de plataforma. En Linux y macOS, la biblioteca libgdiplus implementa la funcionalidad de GDI+. Esta biblioteca no está instalada de forma predeterminada en la mayoría de las distribuciones de Linux y no admite toda la funcionalidad de GDI+ en Windows y macOS. También hay plataformas en las que libgdiplus no está disponible en absoluto. Para usar tipos del paquete System.Drawing.Common en Linux y macOS, debe instalar libgdiplus por separado. Para obtener más información, consulte Instalación de .NET en Linux o Instalación de .NET en macOS.

  • En .NET 6 y versiones posteriores, el paquete NuGet System.Drawing.Common solo se admite en sistemas operativos Windows. Para obtener más información, vea System.Drawing.Common solo compatible con Windows.

Si no puedes usar System.Drawing con la aplicación, las alternativas recomendadas incluyen ImageSharp, SkiaSharp, Windows Imaging Components y Microsoft.Maui.Graphics.

La Graphics clase proporciona métodos para dibujar en el dispositivo de visualización. Clases como Rectangle y Point encapsulan primitivos de GDI+. La Pen clase se usa para dibujar líneas y curvas, mientras que las clases derivadas de la clase Brush abstracta se usan para rellenar los interiores de las formas.