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ć elementuEvenOdd
lubNonzero
FillRule
.F0
służy do określania reguły wypełnianiaEvenOdd
, podczas gdyF1
służy do określaniaNonzero
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: M
startPoint lub m
startPoint.
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
lubl
). - Linia pozioma (
H
lubh
). - Linia pionowa (
V
lubv
). - Łuk wielokropowy (
A
luba
). - Krzywa Beziera sześcienna (
C
lubc
). - Krzywa Beziera kwadratowego (
Q
lubq
). - Gładka krzywa Beziera sześcienna (
S
lubs
). - Gładka krzywa Beziera
T
(lubt
).
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,400
elementu .
Wiersz polecenia
Polecenie wiersza tworzy linię prostą między bieżącym punktem a określonym punktem końcowym. Składnią tego polecenia jest: L
endPoint lub l
endPoint.
W tej składni endPoint jest elementem reprezentującym Point
punkt końcowy wiersza.
L 20,30
są L 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: H
x lub h
x.
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: V
y lub v
y.
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: A
sizerotationAngleisLargeArcFlagsweepDirectionFlagendPoint lub a
sizerotationAngleisLargeArcFlag sweepDirectionFlagendPoint.
W tej składni:
size
jest elementem reprezentującymSize
promień x i y łuku.rotationAngle
jest elementem reprezentującymdouble
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, doPoint
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: C
controlPoint1controlPoint2 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: Q
controlPointendPoint 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: S
controlPoint2endPoint lub s
controlPoint2 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: T
endPoint lub t
endPoint.
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
reprezentujedouble.PositiveInfinity
wartość .-Infinity
reprezentujedouble.NegativeInfinity
wartość .NaN
reprezentujedouble.NaN
wartość .
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ą.