Gráficos

Examinar ejemplo. Examinar el ejemplo

La interfaz de usuario de aplicaciones multiplataforma de .NET (.NET MAUI) proporciona un lienzo gráfico multiplataforma en el que se pueden dibujar gráficos 2D mediante tipos del Microsoft.Maui.Graphics espacio de nombres. Este lienzo admite formas e imágenes de dibujo y pintura, operaciones de redacción y transformaciones gráficas de objetos.

Hay muchas similitudes entre la funcionalidad proporcionada por Microsoft.Maui.Graphicsy la funcionalidad proporcionada por formas y pinceles de MAUI de .NET. Sin embargo, cada uno tiene como objetivo escenarios diferentes:

  • Microsoft.Maui.Graphics La funcionalidad debe consumirse en un lienzo de dibujo, permite dibujar gráficos eficaces y proporciona un enfoque práctico para escribir controles basados en gráficos. Por ejemplo, un control que replica el perfil de contribución de GitHub se puede implementar más fácilmente mediante Microsoft.Maui.Graphics que mediante formas maui de .NET.
  • Todas las formas maui de .NET se pueden consumir directamente en una página y todos los controles pueden consumir pinceles. Esta funcionalidad se proporciona para ayudarle a producir una interfaz de usuario atractiva.

Para obtener más información sobre las formas maui de .NET, vea Formas.

Lienzo de dibujo

En .NET MAUI, GraphicsView permite el consumo de la Microsoft.Maui.Graphics funcionalidad a través de un lienzo de dibujo que se expone como un ICanvas objeto. Para obtener más información sobre GraphicsView, vea GraphicsView.

ICanvas define las siguientes propiedades que afectan a la apariencia de los objetos que se dibujan en el lienzo:

  • Alpha, de tipo float, indica la opacidad de un objeto .
  • Antialias, de tipo bool, especifica si está habilitado el suavizado de alias.
  • BlendMode, de tipo BlendMode, define el modo de mezcla, que determina lo que sucede cuando se representa un objeto encima de un objeto existente.
  • DisplayScale, de tipo float, representa el factor de escalado para escalar la interfaz de usuario en un lienzo.
  • FillColor, de tipo Color, indica el color utilizado para pintar el interior de un objeto.
  • Font, de tipo IFont, define la fuente al dibujar texto.
  • FontColor, de tipo Color, especifica el color de fuente al dibujar texto.
  • FontSize, de tipo float, define el tamaño de la fuente al dibujar texto.
  • MiterLimit, de tipo float, especifica el límite de la longitud miter de las combinaciones de línea en un objeto .
  • StrokeColor, de tipo Color, indica el color utilizado para pintar el contorno de un objeto.
  • StrokeDashPattern, de tipo float[], especifica el patrón de guiones y espacios que se usan para describir un objeto.
  • StrokeLineCap, de tipo LineCap, describe la forma al principio y al final de una línea.
  • StrokeLineJoin, de tipo LineJoin, especifica el tipo de combinación que se usa en los vértices de una forma.
  • StrokeSize, de tipo float, indica el ancho del contorno de un objeto.

De forma predeterminada, establece StrokeSize en ICanvas 1, StrokeColor en negro, LineJoin.MiterStrokeLineJoin en y StrokeLineCap en LineJoin.Cap.

Estado del lienzo de dibujo

El lienzo de dibujo de cada plataforma tiene la capacidad de mantener su estado. Esto le permite conservar el estado de gráficos actual y restaurarlo cuando sea necesario.

Sin embargo, no todos los elementos del lienzo son elementos del estado gráfico. El estado de los gráficos no incluye objetos de dibujo, como rutas de acceso y objetos de pintura, como degradados. Los elementos típicos del estado gráfico en cada plataforma incluyen datos de trazo y relleno, y datos de fuente.

El estado de los gráficos de cada uno ICanvas se puede manipular con los métodos siguientes:

  • SaveState, que guarda el estado de gráfico actual.
  • RestoreState, que establece el estado gráfico en el estado guardado más recientemente.
  • ResetState, que restablece el estado de los gráficos a sus valores predeterminados.

Nota

El estado que conservan estos métodos depende de la plataforma.