Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Ontdek de commando's voor verplaatsen en tekenen (een mini-taal) die u kunt gebruiken om padgeometrieën als een XAML-kenmerkwaarde op te geven. Opdrachten voor verplaatsen en tekenen worden gebruikt door veel ontwerp- en grafische hulpmiddelen die een vectorafbeelding of vorm kunnen uitvoeren als serialisatie- en uitwisselingsindeling.
Eigenschappen die gebruikmaken van commando-opdrachten voor verplaatsing en tekenen
De syntaxis van de opdracht verplaatsen en tekenen wordt ondersteund door een intern type conversieprogramma voor XAML, waarmee de opdrachten worden geparseerd en een runtime-grafische weergave wordt geproduceerd. Deze weergave is in feite een voltooide set vectoren die klaar is voor presentatie. De vectoren zelf vullen de presentatiedetails niet in; U moet nog steeds andere waarden instellen voor de elementen. Voor een Path-object hebt u ook waarden nodig voor opvulling, pennenstreken en andere eigenschappen. Vervolgens moet dat pad op een of andere manier zijn verbonden met de visualstructuur. Stel voor een PathIcon-object de eigenschap Foreground in.
Er zijn twee eigenschappen in de Windows Runtime die een tekenreeks kunnen gebruiken voor opdrachten voor verplaatsen en tekenen: Path.Data en PathIcon.Data. Als u een van deze eigenschappen instelt door opdrachten voor verplaatsen en tekenen op te geven, stelt u deze doorgaans in als een XAML-kenmerkwaarde samen met andere vereiste kenmerken van dat element. Zonder de details te bekijken, ziet dat er als volgt uit:
<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" />
Het gebruik van verplaats- en tekenopdrachten versus het gebruik van een PathGeometry
Voor Windows Runtime XAML produceren de opdrachten voor verplaatsen en tekenen een PathGeometry met één PathFigure-object dat een Figures-eigenschapwaarde heeft. Elke tekenopdracht produceert een afgeleide klasse PathSegment in de PathFigure's Segmenten-verzameling, de verplaatsingsopdracht wijzigt het StartPoint en het uitvoeren van een sluitopdracht stelt IsClosed in op true. U kunt door deze structuur navigeren als objectmodel als u de gegevenswaarden tijdens runtime bekijkt.
De basissyntaxis
De syntaxis voor opdrachten voor verplaatsen en tekenen kan als volgt worden samengevat:
- Begin met een optionele opvulregel. Normaal gesproken geeft u dit alleen op als u niet wilt dat de EvenOdd-standaardwaarde wordt gebruikt. (Meer informatie over EvenOdd later.)
- Geef precies één verplaatsingsopdracht op.
- Geef een of meer tekenopdrachten op.
- Specificeer een sluitopdracht. U kunt een sluitopdracht weglaten, maar dat laat uw afbeelding open (wat ongebruikelijk is).
Algemene regels van deze syntaxis zijn:
- Elke opdracht wordt vertegenwoordigd door precies één letter.
- Deze letter kan een hoofdletter of een kleine letter zijn. Case is belangrijk, zoals we beschrijven.
- Elke opdracht behalve de opdracht sluiten wordt doorgaans gevolgd door een of meer getallen.
- Als er meer dan één getal voor een opdracht bestaat, scheidt u deze met een komma of spatie.
nl-NL: [fillRule]moveCommand[drawCommand*][closeCommand]
Veel van de tekenopdrachten gebruiken punten, waarbij u een x,y-waarde opgeeft. Wanneer u een tijdelijke aanduiding voor *punten ziet, kunt u aannemen dat u twee decimale waarden opgeeft voor de x,y-waarde van een punt.
Witruimte kan vaak worden weggelaten wanneer het resultaat niet dubbelzinnig is. U kunt in feite alle witruimte weglaten als u komma's als scheidingsteken gebruikt voor alle getallensets (punten en grootte). Dit gebruik is bijvoorbeeld legaal: F1M0,58L2,56L6,60L13,51L15,53L6,64z. Maar het is gebruikelijker om witruimte tussen opdrachten op te nemen voor duidelijkheid.
Gebruik geen komma's als het decimaalteken voor decimale getallen; de opdrachtreeks wordt geïnterpreteerd door XAML en houdt geen rekening met cultuurspecifieke conventies voor getalopmaak die verschillen van die in de en-us landinstelling worden gebruikt.
Syntaxisdetails
Regel doorvoeren
Er zijn twee mogelijke waarden voor de optionele opvulregel: F0 of F1. (De F is altijd een hoofdletter.) F0 is de standaardwaarde; het produceert EvenOdd vulgedrag, dus hoeft u deze meestal niet op te geven. Gebruik F1 om het opvulgedrag van Nonzero op te halen. Deze opvulwaarden komen overeen met de waardes van de FillRule-uitlijning.
Opdracht Verplaatsen
Stelt het beginpunt van een nieuwe figuur in.
| Syntaxis |
|---|
M
startPoint -of- m
startPoint |
| Termijn | Description |
|---|---|
| startPoint |
Punt Het beginpunt van een nieuwe afbeelding. |
Een hoofdletter M geeft aan dat startPoint een absolute coördinaat is; een kleine letter m geeft aan dat startPoint een verschuiving is naar het vorige punt, of (0,0) als er geen eerder punt was.
Notitie Het is legaal om meerdere punten op te geven na de verplaatsingsopdracht. Er wordt een lijn getekend op die punten alsof u de lijnopdracht hebt opgegeven. Dit is echter geen aanbevolen stijl; gebruik in plaats daarvan het speciale lijncommando.
Opdrachten tekenen
Een tekenopdracht kan bestaan uit verschillende vormopdrachten: lijn, horizontale lijn, verticale lijn, kubieke Bézier-curve, kwadratische Bézier-curve, vloeiende kubieke Bézier-curve, vloeiende kwadratische Bézier-curve en elliptische boog.
Voor alle tekenopdrachten is het belangrijk om zaken te doen. Hoofdletters geven absolute coördinaten aan en kleine letters geven coördinaten aan ten opzichte van de vorige opdracht.
De besturingspunten voor een segment zijn relatief ten opzichte van het eindpunt van het voorgaande segment. Wanneer u opeenvolgend meerdere opdrachten van hetzelfde type invoert, kunt u de dubbele opdrachtinvoer weglaten. Is bijvoorbeeld L 100,200 300,400 gelijk aan L 100,200 L 300,400.
Opdrachtregelcommando
Hiermee maakt u een rechte lijn tussen het huidige punt en het opgegeven eindpunt.
l 20 30 en L 20,30 zijn voorbeelden van geldige opdrachtregelopdrachten. Definieert het equivalent van een LineGeometry-object .
| Syntaxis |
|---|
L
Eindpunt -of- l
Eindpunt |
| Termijn | Description |
|---|---|
| Eindpunt |
Punt Het eindpunt van de lijn. |
Opdracht horizontale regel
Hiermee maakt u een horizontale lijn tussen het huidige punt en de opgegeven x-coördinaat.
H 90 is een voorbeeld van een geldige horizontale regelopdracht.
| Syntaxis |
|---|
H
x -of- h
x |
| Termijn | Description |
|---|---|
| x |
Dubbel De x-coördinaat van het eindpunt van de lijn. |
Verticale lijn-opdracht
Hiermee maakt u een verticale lijn tussen het huidige punt en de opgegeven y-coördinaat.
v 90 is een voorbeeld van een geldige verticale regelopdracht.
| Syntaxis |
|---|
V
y - of - v
y |
| Termijn | Description |
|---|---|
| y |
Double De y-coördinaat van het eindpunt van de lijn. |
Kubieke Bézier-curve-opdracht
Hiermee maakt u een kubieke Bézier-curve tussen het huidige punt en het opgegeven eindpunt met behulp van de twee opgegeven besturingspunten (controlPoint1 en controlPoint2).
C 100,200 200,400 300,200 is een voorbeeld van een geldige curveopdracht. Definieert het equivalent van een PathGeometry-object met een BezierSegment-object .
| Syntaxis |
|---|
C
controlPoint1controlPoint2endPoint - of - c
controlPoint1controlPoint2endPoint |
| Termijn | Description |
|---|---|
| controlPoint1 |
Punt Het eerste besturingspunt van de curve, waarmee de begintangens van de curve worden bepaald. |
| controlPoint2 |
Punt Het tweede besturingspunt van de curve, waarmee de eindtangens van de curve worden bepaald. |
| Eindpunt |
Punt Het punt waarop de curve wordt getekend. |
Kwadratische Bezier-curveopdracht
Hiermee maakt u een kwadratische Bézier-curve tussen het huidige punt en het opgegeven eindpunt met behulp van het opgegeven besturingspunt (controlPoint).
q 100,200 300,200 is een voorbeeld van een geldige kwadratische Bezier-curveopdracht. Definieert het equivalent van een PathGeometry met een QuadraticBezierSegment.
| Syntaxis |
|---|
Q
controlepunt eindpunt -of- q
controlPoint endPoint |
| Termijn | Description |
|---|---|
| controlPoint |
Punt Het besturingspunt van de curve, waarmee de begin- en eindtangens van de curve worden bepaald. |
| Eindpunt |
Punt Het punt waarop de curve wordt getekend. |
Vloeiende kubieke Bézier-curve opdracht
Hiermee maakt u een kubieke Bézier-curve tussen het huidige punt en het opgegeven eindpunt. Het eerste besturingspunt wordt verondersteld de weerspiegeling te zijn van het tweede besturingspunt van de vorige opdracht ten opzichte van het huidige punt. Als er geen vorige opdracht is of als de vorige opdracht geen kubieke Bezier-curveopdracht of een vloeiende kubieke Bézier-curveopdracht was, wordt ervan uitgegaan dat het eerste besturingspunt samenvallen met het huidige punt. Het tweede besturingspunt, het besturingspunt voor het einde van de curve, wordt opgegeven door controlPoint2. Bijvoorbeeld, S 100,200 200,300 is een geldige vloeiende kubieke Bézier-curveopdracht. Met deze opdracht definieert u het equivalent van een PathGeometry met een BezierSegment waar zich een eerder curvesegment bevond.
| Syntaxis |
|---|
S
controlPoint2endPoint -of- s
controlPoint2 endPoint |
| Termijn | Description |
|---|---|
| controlPoint2 |
Punt Het besturingspunt van de curve, waarmee de eindtangens van de curve worden bepaald. |
| Eindpunt |
Punt Het punt waarop de curve wordt getekend. |
Vloeiende kwadratische Bézier-curvecommando
Hiermee maakt u een kwadratische Bézier-curve tussen het huidige punt en het opgegeven eindpunt. Het besturingspunt wordt verondersteld de weerspiegeling te zijn van het besturingspunt van de vorige opdracht ten opzichte van het huidige punt. Als er geen vorige opdracht is of als de vorige opdracht geen kwadratische Bezier-curveopdracht of een vloeiende kwadratische Bézier-curveopdracht was, valt het besturingspunt samen met het huidige punt. Deze opdracht definieert het equivalent van een PathGeometry met een QuadraticBezierSegment waar een eerder curvesegment was.
| Syntaxis |
|---|
T
controlPointendPoint -of- t
controlPointendPoint |
| Termijn | Description |
|---|---|
| controlPoint |
Punt Het besturingspunt van de curve, waarmee het begin en de tangens van de curve worden bepaald. |
| Eindpunt |
Punt Het punt waarop de curve wordt getekend. |
Elliptische boogopdracht
Hiermee maakt u een elliptische boog tussen het huidige punt en het opgegeven eindpunt. Definieert het equivalent van een PathGeometry met een ArcSegment.
| Syntaxis |
|---|
A
sizerotationAngleisLargeArcFlagsweepDirectionFlagendPoint -of- a
sizerotationAngleisLargeArcFlagsweepDirectionFlagendPoint |
| Termijn | Description |
|---|---|
| grootte |
Grootte De x-radius en y-radius van de boog. |
| rotationAngle |
Dubbel De rotatie van de ellips, in graden. |
| isLargeArcFlag | Ingesteld op 1 als de hoek van de boog 180 graden of hoger moet zijn; anders ingesteld op 0. |
| sweepDirectionFlag | Ingesteld op 1 als de boog in een positieve hoekrichting wordt getekend; anders ingesteld op 0. |
| Eindpunt |
Punt Het punt waarop de boog wordt getekend. |
Opdracht Sluiten
Hiermee wordt de huidige afbeelding beëindigd en wordt een lijn gemaakt waarmee het huidige punt wordt verbonden met het beginpunt van de afbeelding. Met deze opdracht maakt u een line-join (hoek) tussen het laatste segment en het eerste segment van de figuur.
| Syntaxis |
|---|
Z -of- z |
Puntsyntaxis
Beschrijft de x-coördinaat en y-coördinaat van een punt. Zie ook Point.
| Syntaxis |
|---|
|
x,y -of- xy |
| Termijn | Description |
|---|---|
| x |
Dubbel De x-coördinaat van het punt. |
| y |
Dubbel De y-coördinaat van het punt. |
Aanvullende notities
In plaats van een standaard numerieke waarde kunt u ook de volgende speciale waarden gebruiken. Deze waarden zijn hoofdlettergevoelig.
- Oneindigheid: Vertegenwoordigt PositiveInfinity.
- -Infinity: Vertegenwoordigt NegatieveOneindigheid.
- NaN: vertegenwoordigt NaN.
In plaats van decimalen of gehele getallen te gebruiken, kunt u wetenschappelijke notatie gebruiken. Is bijvoorbeeld +1.e17 een geldige waarde.
Ontwerphulpprogramma's die opdrachten voor verplaatsen en tekenen genereren
Met het hulpmiddel Pen en andere tekenhulpmiddelen in Blend voor Microsoft Visual Studio 2015 wordt meestal een Path-object geproduceerd, met opdrachten voor verplaatsen en tekenen.
Mogelijk ziet u bestaande verplaatsings- en tekenopdrachtgegevens in sommige besturingsonderdelen die zijn gedefinieerd in de standaardsjablonen van Windows Runtime XAML voor besturingselementen. Sommige besturingselementen maken bijvoorbeeld gebruik van een PathIcon met de gegevens die zijn gedefinieerd als verplaatsings- en tekenopdrachten.
Er zijn exporteurs of plug-ins beschikbaar voor andere veelgebruikte vector-graphics ontwerphulpprogramma's die de vector in XAML-vorm kunnen uitvoeren. Deze maken meestal Padobjecten in een indelingscontainer, met verplaatsings- en tekenopdrachten voor Path.Data. Er kunnen meerdere padelementen in de XAML zijn, zodat verschillende borstels kunnen worden toegepast. Veel van deze exporteurs of invoegtoepassingen zijn oorspronkelijk geschreven voor Windows Presentation Foundation (WPF) XAML of Silverlight, maar de syntaxis van het XAML-pad is identiek aan Windows Runtime XAML. Meestal kunt u segmenten van XAML van een exporteur gebruiken en deze rechtstreeks in een Windows Runtime XAML-pagina plakken. (U kunt echter geen RadialGradientBrush gebruiken, als dat deel uitmaakte van de geconverteerde XAML, omdat Windows Runtime XAML die borstel niet ondersteunt.)
Verwante onderwerpen
Windows developer