Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dowiedz się więcej o poleceniach przenoszenia i rysowania (minijęzycznych), których można użyć do określenia geometrii ścieżek jako wartości atrybutu XAML. Polecenia przenoszenia i rysowania są używane przez wiele narzędzi projektowych i graficznych, które mogą wyprowadzać grafikę wektorową lub kształt, pełniąc rolę formatu do serializacji i wymiany.
Właściwości używające ciągów poleceń przesunięcia i rysowania
Składnia poleceń przenoszenia i rysowania jest obsługiwana przez wewnętrzny konwerter typów dla języka XAML, który analizuje polecenia i tworzy reprezentację grafiki w czasie wykonywania. Ta reprezentacja jest w zasadzie gotowym zestawem wektorów gotowych do prezentacji. Same wektory nie wypełniają szczegółów prezentacji; Nadal trzeba będzie ustawić inne wartości na elementach. W przypadku obiektu Path potrzebne są również wartości Fill, Stroke i inne właściwości, a następnie ścieżka musi być w jakiś sposób połączona z drzewem wizualnym. Dla obiektu PathIcon ustaw właściwość Foreground .
W środowisku uruchomieniowym systemu Windows istnieją dwie właściwości, które mogą używać ciągu reprezentującego polecenia przenoszenia i rysowania: Path.Data i PathIcon.Data. Jeśli ustawisz jedną z tych właściwości, określając polecenia przenoszenia i rysowania, zazwyczaj ustawiasz ją jako wartość atrybutu XAML wraz z innymi wymaganymi atrybutami tego elementu. Bez zagłębiania się w szczegóły poniżej przedstawiono następujące elementy:
<Path x:Name="Arrow" Fill="White" Height="11" Width="9.67"
Data="M4.12,0 L9.67,5.47 L4.12,10.94 L0,10.88 L5.56,5.47 L0,0.06" />
Używanie poleceń przenoszenia i rysowania w porównaniu z użyciem PathGeometry
W języku XAML środowiska uruchomieniowego systemu Windows polecenia przenoszenia i rysowania generują PathGeometry z pojedynczym obiektem PathFigure, który ma wartość właściwości Figures. Każde polecenie draw tworzy klasę pochodną PathSegment w kolekcji Segmenty pojedynczego obiektu PathFigure, polecenie przenoszenia zmienia StartPoint, a istnienie polecenia zamknięcia ustawia IsClosed na true. Możesz nawigować po tej strukturze jako modelu obiektowym, jeśli podczas wykonywania przeanalizujesz wartości danych.
Podstawowa składnia
Składnia poleceń przenoszenia i rysowania można podsumować w następujący sposób:
- Zacznij od opcjonalnej reguły wypełnienia. Zazwyczaj określa się to tylko wtedy, gdy nie chcesz domyślnego elementu EvenOdd . (Więcej informacji o EvenOdd później).
- Określ dokładnie jedno polecenie przenoszenia.
- Określ co najmniej jedno polecenie rysowania.
- Określ polecenie zamknięcia. Możesz pominąć polecenie zamknięcia, ale spowoduje to pozostawienie figury otwartej (co jest rzadkością).
Ogólne reguły tej składni to:
- Każde polecenie jest reprezentowane przez dokładnie jedną literę.
- Ta litera może być zapisana wielką lub małą literą. Sprawa ma znaczenie, jak opiszemy.
- Każde polecenie, za wyjątkiem polecenia zamknięcia, jest zwykle poprzedzone jedną lub większą ilością liczb.
- Jeśli więcej niż jedna liczba dla polecenia, oddziel przecinkiem lub spacją.
Wiele poleceń rysowania używa punktów, w których podaje się wartość x,y . Za każdym razem, gdy zobaczysz symbol zastępczy *punkty, możesz przyjąć, że podajesz dwie wartości dziesiętne dla wartości x,y punktu.
Białe znaki mogą być często pomijane, gdy wynik nie jest niejednoznaczny. W rzeczywistości można pominąć wszystkie białe znaki, jeśli używasz przecinków jako separatora dla wszystkich zestawów liczb (punktów i rozmiaru). Na przykład to użycie jest legalne: F1M0,58L2,56L6,60L13,51L15,53L6,64z. Jednak bardziej typowe jest uwzględnienie białych znaków między poleceniami w celu uzyskania jasności.
Nie używaj przecinków jako punktu dziesiętnego dla liczb dziesiętnych; ciąg polecenia jest interpretowany przez język XAML i nie uwzględnia konwencji formatowania liczb specyficznych dla kultury, które różnią się od tych używanych w ustawieniach regionalnych en-us .
Specyfika składni
Reguła wypełniania
Istnieją dwie możliwe wartości dla opcjonalnej reguły wypełnienia: F0 lub F1. (Litera F jest zawsze wielką literą). F0 jest wartością domyślną; generuje zachowanie wypełnienia EvenOdd , więc zwykle nie określa się go. Użyj F1 , aby uzyskać zachowanie wypełnienia Nonzero . Te wartości wypełnienia są zgodne z wartościami wyliczenia FillRule .
Polecenie Przenieś
Określa punkt początkowy nowego rysunku.
| Składnia |
|---|
M
startPoint - lub - m
startPoint |
| Termin | Description |
|---|---|
| startPoint |
Punkt Punkt początkowy nowego rysunku. |
Wielka litera M wskazuje, że startPoint jest współrzędną bezwzględną; mała litera m wskazuje, że startPoint jest przesunięciem do poprzedniego punktu lub (0,0), jeśli nie było poprzedniego punktu.
Uwaga Legalne jest określenie wielu punktów po poleceniu przesunięcia. Linia jest narysowana do tych punktów, jakby użyto polecenia linii. Nie jest to jednak zalecany styl; zamiast tego użyj dedykowanego polecenia wiersza poleceń.
Rysuj polecenia
Polecenie draw może składać się z kilku poleceń kształtu: linii, linii poziomej, linii pionowej, krzywej Beziera sześciennego, krzywej Beziera kwadratowej, gładkiej krzywej Beziera sześciennego, gładkiej krzywej Beziera kwadratowej i łuku eliptycznego.
W przypadku wszystkich poleceń rysowania wielkość liter ma znaczenie. Wielkie litery oznaczają współrzędne bezwzględne i małe litery oznaczają współrzędne względem poprzedniego polecenia.
Punkty kontrolne dla segmentu są względne względem punktu końcowego poprzedniego segmentu. 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.
Polecenie liniowe
Tworzy linię prostą między bieżącym punktem a określonym punktem końcowym.
l 20 30 i L 20,30 stanowią przykłady prawidłowych poleceń wiersza. Definiuje odpowiednik obiektu LineGeometry .
| Składnia |
|---|
L
punkt końcowy - lub - l
punkt końcowy |
| Termin | Description |
|---|---|
| punkt końcowy |
Punkt Punkt końcowy linii. |
Polecenie linii poziomej
Tworzy linię poziomą między bieżącym punktem a określoną współrzędną x.
H 90 to przykład prawidłowego polecenia wiersza poziomego.
| Składnia |
|---|
H
x - lub - h
x |
| Termin | Description |
|---|---|
| x |
Podwójny Współrzędna x punktu końcowego linii. |
Polecenie Linii Pionowej
Tworzy linię pionową między bieżącym punktem a określoną współrzędną y.
v 90 to przykład prawidłowego polecenia wiersza pionowego.
| Składnia |
|---|
V
y - lub - v
y |
| Termin | Description |
|---|---|
| y |
Podwójny Współrzędna y punktu końcowego linii. |
Polecenie krzywej sześciennej Bézier
Tworzy krzywą Sześciennika Béziera między bieżącym punktem a określonym punktem końcowym przy użyciu dwóch określonych punktów kontrolnych (controlPoint1 i controlPoint2).
C 100,200 200,400 300,200 to przykład prawidłowej komendy krzywej. Definiuje odpowiednik obiektu PathGeometry z obiektem BezierSegment .
| Składnia |
|---|
C
controlPoint1controlPoint2endPoint - lub - c
controlPoint1controlPoint2endPoint |
| Termin | Description |
|---|---|
| controlPoint1 |
Punkt Pierwszy punkt kontrolny krzywej, który określa tangens początkowy krzywej. |
| controlPoint2 |
Punkt Drugi punkt kontrolny krzywej, który określa koniec tangensu krzywej. |
| punkt końcowy |
Punkt Punkt, do którego jest rysowana krzywa. |
Polecenie dla krzywej Béziera kwadratowej
Tworzy krzywą Béziera kwadratową między bieżącym punktem a określonym punktem końcowym przy użyciu określonego punktu kontrolnego (controlPoint).
q 100,200 300,200 to przykład prawidłowego polecenia kwadratowej krzywej Béziera. Definiuje odpowiednik elementu PathGeometry z elementem QuadraticBezierSegment.
| Składnia |
|---|
Q
controlPoint endPoint - lub - q
controlPoint endPoint |
| Termin | Description |
|---|---|
| controlPoint |
Punkt Punkt kontrolny krzywej, który określa tangens początkowy i końcowy krzywej. |
| punkt końcowy |
Punkt Punkt, do którego rysuje się krzywa. |
Gładka sześcienna krzywa Béziera, polecenie
Tworzy krzywą Béziera sześcienną między bieżącym punktem a określonym punktem końcowym. 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 jeśli poprzednie polecenie nie było sześciennym poleceniem krzywej Béziera lub gładkim sześciennym poleceniem krzywej Béziera, załóżmy, że pierwszy punkt kontrolny pokrywa się z bieżącym punktem. Drugi punkt kontrolny — punkt kontrolny końca krzywej — jest określany przez controlPoint2. Na przykład S 100,200 200,300 jest prawidłowym poleceniem gładkiej sześciennej krzywej Béziera. To polecenie definiuje odpowiednik obiektu PathGeometry z obiektem BezierSegment, w miejscu, gdzie znajdował się poprzedni segment krzywej.
| Składnia |
|---|
S
controlPoint2endPoint - lub - s
controlPoint2 endPoint |
| Termin | Description |
|---|---|
| controlPoint2 |
Punkt Punkt kontrolny krzywej, który określa koniec tangensa krzywej. |
| punkt końcowy |
Punkt Punkt, do którego rysuje się krzywa. |
Smooth quadratic Bézier curve polecenie
Tworzy krzywą kwadratową Béziera między bieżącym punktem a określonym punktem końcowym. 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 poleceniem kwadratowej krzywej Béziera lub gładkiej kwadratowej krzywej Béziera, punkt kontrolny jest zbieżny z bieżącym punktem. To polecenie definiuje odpowiednik elementu PathGeometry z elementem QuadraticBezierSegment , w którym znajdował się poprzedni segment krzywej.
| Składnia |
|---|
T
controlPointendPoint - lub - t
controlPointendPoint |
| Termin | Description |
|---|---|
| controlPoint |
Punkt Punkt kontrolny krzywej, który określa początek i tangens krzywej. |
| punkt końcowy |
Punkt Punkt, do którego jest rysowana krzywa. |
Polecenie łuku eliptycznego
Tworzy łuk eliptyczny między bieżącym punktem a określonym punktem końcowym. Definiuje odpowiednik pathGeometry z elementem ArcSegment.
| Składnia |
|---|
A
sizerotationAngleisLargeArcFlagsweepDirectionFlagendPoint - lub - a
sizerotationAngleisLargeArcFlagsweepDirectionFlagendPoint |
| Termin | Description |
|---|---|
| rozmiar |
Rozmiar Promień x i promień łuku. |
| rotationAngle |
Podwójny Obrót elipsy w stopniach. |
| isLargeArcFlag | Ustaw wartość 1, jeśli kąt łuku powinien mieć wartość 180 stopni lub większą; w przeciwnym razie ustaw wartość 0. |
| sweepDirectionFlag | Ustaw wartość 1, jeśli łuk jest rysowany w kierunku dodatnim; w przeciwnym razie ustaw wartość 0. |
| punkt końcowy |
Punkt Punkt, do którego jest rysowany łuk. |
Zamknij polecenie
Kończy bieżący rysunek i tworzy linię łączącą bieżący punkt z punktem początkowym rysunku. To polecenie tworzy złącze liniowe (załamanie) między ostatnim odcinkiem a pierwszym odcinkiem rysunku.
| Składnia |
|---|
Z -lub- z |
Składnia punktu
Opisuje współrzędną x i współrzędną y punktu. Zobacz też Punkt.
| Składnia |
|---|
|
x,y - lub - xy |
| Termin | Description |
|---|---|
| x |
Podwójny Współrzędna x punktu. |
| y |
Podwójny Współrzędna y punktu. |
Dodatkowe uwagi
Zamiast standardowej wartości liczbowej można również użyć następujących wartości specjalnych. Te wartości są rozróżniane pod względem wielkości liter.
- Nieskończoność: reprezentuje PositiveInfinity.
- -Infinity: reprezentuje ujemną nieskończoność.
- NaN: reprezentuje NaN.
Zamiast używać liczb dziesiętnych lub liczb całkowitych, można użyć notacji naukowej. Na przykład +1.e17 jest prawidłową wartością.
Narzędzia do projektowania, które tworzą polecenia przenoszenia i rysowania
Użycie narzędzia Pióro oraz innych narzędzi do rysowania w Blend dla Microsoft Visual Studio 2015 zazwyczaj tworzy obiekt Path z poleceniami przenoszenia i rysowania.
W niektórych częściach kontrolek zdefiniowanych w domyślnych szablonach XAML środowiska Windows Runtime dla kontrolek możesz zobaczyć istniejące dane polecenia przenoszenia i rysowania. Na przykład niektóre kontrolki używają interfejsu PathIcon , który zawiera dane zdefiniowane jako polecenia przenoszenia i rysowania.
Istnieją eksporterzy lub wtyczki dostępne dla innych powszechnie używanych narzędzi projektowania wektorów graficznych, które mogą wyprowadzać wektor w postaci XAML. Zazwyczaj tworzą obiekty Path w kontenerze układu, używając poleceń ruchu i rysowania dla danych Path.Data. W języku XAML może istnieć wiele elementów ścieżki , dzięki czemu można zastosować różne pędzle. Wielu z tych eksporterów lub wtyczek zostało pierwotnie napisanych dla XAML środowiska Windows Presentation Foundation (WPF) lub Silverlight, ale składnia ścieżki XAML w Windows Runtime jest identyczna. Zazwyczaj możesz użyć fragmentów XAML z eksportera i wkleić je bezpośrednio do strony XAML środowiska uruchomieniowego systemu Windows. (Jednak nie będzie można użyć radialGradientBrush, jeśli był to część przekonwertowanego kodu XAML, ponieważ środowisko uruchomieniowe systemu Windows XAML nie obsługuje tego pędzla).
Tematy pokrewne
Windows developer