Udostępnij za pośrednictwem


Xamarin.Forms Kształty: składnia znaczników ścieżki

Xamarin.Forms składnia znaczników ścieżki umożliwia kompaktowe określanie geometrii ścieżek w języku XAML. Składnia jest określana jako wartość ciągu dla Path.Data właściwości:

<Path Stroke="Black"
      Data="M13.908992,16.207977 L32.000049,16.207977 32.000049,31.999985 13.908992,30.109983Z" />

Składnia znaczników ścieżki składa się z opcjonalnej FillRule wartości i co najmniej jednego opisu rysunku. Tę składnię można wyrazić jako: <Path Data="[fillRule]figureDescription[rysunekDescription] * " ... />

W tej składni:

  • fillRule to opcjonalny element Xamarin.Forms.Shapes.FillRule określający, czy geometria powinna używać elementu EvenOdd lub NonzeroFillRule. F0 służy do określania reguły wypełniania EvenOdd , podczas gdy F1 służy do określania Nonzero reguły wypełnienia. Aby uzyskać więcej informacji na temat reguł wypełniania, zobacz Xamarin.Forms Kształty: reguły wypełniania.
  • rysunekDescription reprezentuje rysunek składający się z polecenia przenoszenia, poleceń rysowania i opcjonalnego polecenia zamknięcia. Polecenie przenoszenia określa punkt początkowy rysunku. Polecenia Rysuj opisują zawartość rysunku, a opcjonalne polecenie zamknięcia zamyka rysunek.

W powyższym przykładzie składnia znaczników ścieżki określa punkt początkowy przy użyciu polecenia move (M), serię prostych wierszy za pomocą polecenia wiersza (L) i zamyka ścieżkę za pomocą zamknij polecenia (Z).

W składni znaczników ścieżki spacje nie są wymagane przed lub po poleceniach. Ponadto dwie liczby nie muszą być oddzielone przecinkiem ani białym znakiem, ale można to osiągnąć tylko wtedy, gdy ciąg jest jednoznaczny.

Napiwek

Składnia znaczników ścieżki jest zgodna z definicjami ścieżek obrazów Skalowalna grafika wektorowa (SVG), dlatego może być przydatna do przenoszenia grafiki z formatu SVG.

Chociaż składnia znaczników ścieżki jest przeznaczona do użycia w języku XAML, można ją przekonwertować na obiekt w kodzie, wywołując ConvertFromInvariantString metodę Geometry w PathGeometryConverter klasie:

Geometry pathData = (Geometry)new PathGeometryConverter().ConvertFromInvariantString("M13.908992,16.207977 L32.000049,16.207977 32.000049,31.999985 13.908992,30.109983Z");

Przenieś polecenie

Polecenie przenoszenia określa punkt początkowy nowego rysunku. Składnią tego polecenia jest: MstartPoint lub mstartPoint.

W tej składni startPoint to Point struktura określająca punkt początkowy nowego rysunku. Jeśli po poleceniu przenoszenia zostanie wyświetlonych wiele punktów, wiersz zostanie narysowany na te punkty.

M 10,10 to przykład prawidłowego polecenia przenoszenia.

Rysuj polecenia

Polecenie draw może składać się z kilku poleceń kształtu. Dostępne są następujące polecenia draw:

  • Linia (L lub l).
  • Linia pozioma (H lub h).
  • Linia pionowa (V lub v).
  • Łuk wielokropowy (A lub a).
  • Krzywa Beziera sześcienna (C lub c).
  • Krzywa Beziera kwadratowego (Q lub q).
  • Gładka krzywa Beziera sześcienna (S lub s).
  • Gładka krzywa BezieraT (lub t).

Każde polecenie draw jest określane z literą bez uwzględniania wielkości liter. Podczas sekwencyjnie wprowadzania więcej niż jednego polecenia tego samego typu można pominąć zduplikowany wpis polecenia. Na przykład L 100,200 300,400 jest odpowiednikiem L 100,200 L 300,400elementu .

Wiersz polecenia

Polecenie wiersza tworzy linię prostą między bieżącym punktem a określonym punktem końcowym. Składnią tego polecenia jest: LendPoint lub lendPoint.

W tej składni endPoint jest elementem reprezentującym Point punkt końcowy wiersza.

L 20,30L 20 30 przykładami prawidłowych poleceń wiersza.

Aby uzyskać informacje na temat tworzenia prostej linii jako PathGeometry obiektu, zobacz Create a LineSegment (Tworzenie elementu LineSegment).

Polecenie wiersza poziomego

Polecenie wiersza poziomego tworzy linię poziomą między bieżącym punktem a określoną współrzędną x. Składnia tego polecenia to: Hx lub hx.

W tej składni x to znak double reprezentujący współrzędną x punktu końcowego linii.

H 90 to przykład prawidłowego polecenia wiersza poziomego.

Wiersz pionowy — polecenie

Polecenie wiersza pionowego tworzy pionową linię między bieżącym punktem a określoną współrzędną y. Składnia tego polecenia to: Vy lub vy.

W tej składni y jest to double , który reprezentuje współrzędną y punktu końcowego linii.

V 90 to przykład prawidłowego polecenia wiersza pionowego.

Polecenie wielokropka łuku

Polecenie wielokropka łuku tworzy wielokropek między bieżącym punktem a określonym punktem końcowym. Składnia tego polecenia to: AsizerotationAngleisLargeArcFlagsweepDirectionFlagendPoint lub asizerotationAngleisLargeArcFlag sweepDirectionFlagendPoint.

W tej składni:

  • size jest elementem reprezentującym Size promień x i y łuku.
  • rotationAngle jest elementem reprezentującym double obrót wielokropka w stopniach.
  • isLargeArcFlag należy ustawić wartość 1, jeśli kąt łuku powinien mieć wartość 180 stopni lub większą, w przeciwnym razie ustaw wartość 0.
  • sweepDirectionFlag należy ustawić wartość 1, jeśli łuk jest rysowany w kierunku dodatnim, w przeciwnym razie ustaw go na wartość 0.
  • endPoint to element, do Point którego jest rysowany łuk.

A 150,150 0 1,0 150,-150 to przykład prawidłowego wielokropkowego polecenia łuku.

Aby uzyskać informacje na temat tworzenia wielokropkowego łuku PathGeometry jako obiektu, zobacz Create an ArcSegment (Tworzenie elementu ArcSegment).

Polecenie krzywej Beziera sześciennego

Sześcienna krzywa Beziera tworzy krzywą beziera sześcienną między bieżącym punktem a określonym punktem końcowym przy użyciu dwóch określonych punktów kontrolnych. Składnią tego polecenia jest: CcontrolPoint1controlPoint2 endPoint lubc controlPoint1controlPoint2 endPoint2endPoint.

W tej składni:

  • controlPoint1 to Point element reprezentujący pierwszy punkt kontrolny krzywej, który określa tangens początkowy krzywej.
  • controlPoint2 to element Point reprezentujący drugi punkt kontrolny krzywej, który określa koniec tangensu krzywej.
  • endPoint to element Point reprezentujący punkt, do którego jest rysowana krzywa.

C 100,200 200,400 300,200 to przykład prawidłowego polecenia krzywej Beziera sześciennego.

Aby uzyskać informacje na temat tworzenia krzywej beziera sześciennej PathGeometry jako obiektu, zobacz Tworzenie bezierSegmentu.

Kwadratowa krzywa Beziera — polecenie

Kwadratowe polecenie krzywej Bezier tworzy krzywą beziera kwadratową między bieżącym punktem a określonym punktem końcowym przy użyciu określonego punktu kontrolnego. Składnią tego polecenia jest: QcontrolPointendPoint lubq controlPoint endPoint endPoint.

W tej składni:

  • controlPoint to element Point reprezentujący punkt kontrolny krzywej, który określa tangensy początkowe i końcowe krzywej.
  • endPoint to element Point reprezentujący punkt, do którego jest rysowana krzywa.

Q 100,200 300,200 to przykład prawidłowego polecenia krzywej Beziera kwadratowego.

Aby uzyskać informacje na temat tworzenia krzywej Beziera kwadratowego PathGeometry jako obiektu, zobacz Create a QuadraticBezierSegment (Tworzenie ćwiartkiBezierSegment).

Smooth sześcienna krzywa Beziera polecenia

Gładkie sześcienne polecenie krzywej Bezier tworzy krzywą beziera sześcienną między bieżącym punktem a określonym punktem końcowym przy użyciu określonego punktu kontrolnego. Składnią tego polecenia jest: ScontrolPoint2endPoint lub scontrolPoint2 endPoint2endPoint.

W tej składni:

  • controlPoint2 to element Point reprezentujący drugi punkt kontrolny krzywej, który określa koniec tangensu krzywej.
  • endPoint to element Point reprezentujący punkt, do którego jest rysowana krzywa.

Przyjmuje się, że pierwszy punkt kontrolny jest odzwierciedleniem drugiego punktu kontrolnego poprzedniego polecenia względem bieżącego punktu. Jeśli nie ma poprzedniego polecenia lub poprzednie polecenie nie było sześciennym poleceniem krzywej Beziera lub gładką krzywą sześcienną Beziera, przyjmuje się, że pierwszy punkt kontrolny jest zbieżny z bieżącym punktem.

S 100,200 200,300 to przykład prawidłowego polecenia krzywej beziera sześciennej.

Smooth quadratic Bezier krzywa polecenia

Gładkie kwadratowe polecenie krzywej Bezier tworzy krzywą beziera kwadratową między bieżącym punktem a określonym punktem końcowym przy użyciu punktu kontrolnego. Składnią tego polecenia jest: TendPoint lub tendPoint.

W tej składni endPoint jest elementem reprezentującym Point punkt, do którego jest rysowana krzywa.

Przyjmuje się, że punkt kontrolny jest odbiciem punktu kontrolnego poprzedniego polecenia względem bieżącego punktu. Jeśli nie ma poprzedniego polecenia lub jeśli poprzednie polecenie nie było krzywą Beziera kwadratowego lub gładką krzywą Beziera, zakłada się, że punkt kontrolny jest zbieżny z bieżącym punktem.

T 100,30 to przykład prawidłowego polecenia krzywej beziera gładkiej kwadratowej sześciennej.

Zamknij polecenie

Zamknięcie polecenia kończy bieżący rysunek i tworzy wiersz, który łączy bieżący punkt z punktem początkowym rysunku. W związku z tym to polecenie tworzy sprzężenia wiersza między ostatnim segmentem a pierwszym segmentem rysunku.

Składnia zamknięcia polecenia to: Z lub z.

Dodatkowe wartości

Zamiast standardowej wartości liczbowej można również użyć następujących wartości specjalnych z uwzględnieniem wielkości liter:

  • Infinity reprezentuje double.PositiveInfinitywartość .
  • -Infinity reprezentuje double.NegativeInfinitywartość .
  • NaN reprezentuje double.NaNwartość .

Ponadto można również użyć notacji naukowej bez uwzględniania wielkości liter. +1.e17 W związku z tym jest prawidłową wartością.