Karty graficzne
Interfejs użytkownika aplikacji wieloplatformowej platformy .NET (.NET MAUI) udostępnia wieloplatformową kanwę grafiki, na której można rysowania grafiki 2D przy użyciu typów z Microsoft.Maui.Graphics przestrzeni nazw. Ta kanwa obsługuje rysowanie i malowanie kształtów i obrazów, operacje komponowania i przekształcanie obiektów graficznych.
Istnieje wiele podobieństw między funkcjami udostępnianymi przez Microsoft.Maui.Graphicsprogram i funkcjami udostępnianymi przez kształty i pędzle .NET MAUI. Jednak każdy z nich ma na celu różne scenariusze:
- Microsoft.Maui.Graphics funkcjonalność musi być używana na kanwie rysunku, umożliwia rysowanie wydajnej grafiki i zapewnia wygodne podejście do pisania kontrolek opartych na grafikach. Na przykład kontrolka, która replikuje profil współtworzenia usługi GitHub, może być łatwiej zaimplementowana przy użyciu niż za Microsoft.Maui.Graphics pomocą kształtów maUI platformy .NET.
- Kształty .NET MAUI mogą być używane bezpośrednio na stronie, a pędzle mogą być używane przez wszystkie kontrolki. Ta funkcja ułatwia tworzenie atrakcyjnego interfejsu użytkownika.
Aby uzyskać więcej informacji na temat kształtów MAUI platformy .NET, zobacz Kształty.
Rysuj grafikę
W programie .NET MAUI GraphicsView funkcja umożliwia korzystanie z Microsoft.Maui.Graphics funkcji. GraphicsViewDrawable
definiuje właściwość typu IDrawable
, która określa zawartość, która zostanie narysowana przez kontrolkę. Aby określić zawartość, która zostanie narysowana, należy utworzyć obiekt, który pochodzi z IDrawable
klasy , i zaimplementować jego Draw
metodę:
namespace MyMauiApp
{
public class GraphicsDrawable : IDrawable
{
public void Draw(ICanvas canvas, RectF dirtyRect)
{
// Drawing code goes here
}
}
}
Metoda Draw
ma ICanvas argumenty i RectF
. Argumentem ICanvas jest kanwa rysunku, na której rysujesz obiekty graficzne. Argumentem RectF
jest struct
element zawierający dane dotyczące rozmiaru i lokalizacji kanwy rysunku.
W języku XAML obiekt można zadeklarować jako zasób, IDrawable
a następnie zużyć go, GraphicsView określając jego klucz jako wartość Drawable
właściwości:
<ContentPage xmlns=http://schemas.microsoft.com/dotnet/2021/maui
xmlns:x=http://schemas.microsoft.com/winfx/2009/xaml
xmlns:drawable="clr-namespace:MyMauiApp"
x:Class="MyMauiApp.MainPage">
<ContentPage.Resources>
<drawable:GraphicsDrawable x:Key="drawable" />
</ContentPage.Resources>
<VerticalStackLayout>
<GraphicsView Drawable="{StaticResource drawable}"
HeightRequest="300"
WidthRequest="400" />
</VerticalStackLayout>
</ContentPage>
Aby uzyskać więcej informacji na temat obiektu GraphicsView, zobacz GraphicsView.
Kanwa rysunku
Kontrolka GraphicsView zapewnia dostęp do ICanvas obiektu za pośrednictwem jego IDrawable
obiektu, na którym można ustawić właściwości i metody wywoływane w celu narysowania obiektów graficznych. Aby uzyskać informacje na temat rysunku na obiekcie ICanvas, zobacz Rysowanie obiektów graficznych.
ICanvas definiuje następujące właściwości, które wpływają na wygląd obiektów rysowanych na kanwie:
- Alpha, typu
float
, wskazuje nieprzezroczystość obiektu. - Antialias, typu
bool
, określa, czy włączono obsługę anty aliasów. - BlendMode, typu BlendMode, definiuje tryb mieszania, który określa, co się stanie, gdy obiekt jest renderowany na podstawie istniejącego obiektu.
- DisplayScale, typu
float
, reprezentuje współczynnik skalowania w celu skalowania interfejsu użytkownika według na kanwie. - FillColor, typu Color, wskazuje kolor używany do malowania wnętrza obiektu.
- Font, typu IFont, definiuje czcionkę podczas rysowania tekstu.
- FontColor, typu Color, określa kolor czcionki podczas rysowania tekstu.
- FontSize, typu
float
, definiuje rozmiar czcionki podczas rysowania tekstu. - MiterLimit, typu
float
, określa limit długości miter sprzężeń linii w obiekcie. - StrokeColor, typu Color, wskazuje kolor używany do malowania konturu obiektu.
- StrokeDashOffset, typu
float
, określa odległość w deseniu kreski, w którym rozpoczyna się kreska. - StrokeDashPattern, typu
float[]
, określa wzorzec kreski i przerw, które są używane do nakreślenia obiektu. - StrokeLineCap, typu LineCap, opisuje kształt na początku i na końcu wiersza.
- StrokeLineJoin, typu LineJoin, określa typ sprzężenia używanego w wierzchołkach kształtu.
- StrokeSize, typu
float
, wskazuje szerokość konspektu obiektu.
Domyślnie ustawia wartość 1, na czarnąICanvas, StrokeLineJoin na LineJoin.Miter
, i StrokeLineCap na LineJoin.Cap
. StrokeColor StrokeSize
Stan kanwy rysunku
Kanwa rysunku na każdej platformie ma możliwość zachowania stanu. Dzięki temu można utrwalać bieżący stan grafiki i przywracać go w razie potrzeby.
Jednak nie wszystkie elementy kanwy są elementami stanu grafiki. Stan grafiki nie obejmuje obiektów rysunkowych, takich jak ścieżki i obiekty malowania, takie jak gradienty. Typowe elementy stanu grafiki na każdej platformie obejmują pociągnięcie i wypełnienie danych oraz dane czcionek.
Stan grafiki każdego ICanvas z nich można manipulować przy użyciu następujących metod:
- SaveState, który zapisuje bieżący stan grafiki.
- RestoreState, który ustawia stan grafiki na ostatnio zapisany stan.
- ResetState, co powoduje zresetowanie stanu grafiki do wartości domyślnych.
Uwaga
Stan, który jest utrwalany przez te metody, jest zależny od platformy.