Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yol geometrilerini XAML öznitelik değeri olarak belirtmek için kullanabileceğiniz taşıma ve çizme komutları (mini dil) hakkında bilgi edinin. Taşıma ve çizme komutları, bir vektör grafiği veya şeklini serileştirme ve değişim biçimi olarak çıkarabilen birçok tasarım ve grafik aracı tarafından kullanılır.
Taşıma ve çizme komut dizelerini kullanan özellikler
Taşıma ve çizme komut söz dizimi, komutları ayrıştıran ve bir çalışma zamanı grafik gösterimi oluşturan XAML için iç tür dönüştürücüsü tarafından desteklenir. Bu gösterim temelde sunu için hazır olan tamamlanmış bir vektör kümesidir. Vektörlerin kendileri sunum ayrıntılarını tamamlamaz; öğeler üzerinde başka değerler ayarlamanız gerekir. Bir Yol nesnesi için Dolgu, Vuruş ve diğer özellikler için de değerlere ihtiyacınız vardır ve ardından bu Yol görsel ağaca bir şekilde bağlanmalıdır. PathIcon nesnesi için Foreground özelliğini ayarlayın.
Windows Çalışma Zamanı'nda move ve draw komutlarını temsil eden bir dize kullanabilen iki özellik vardır: Path.Data ve PathIcon.Data. Taşıma ve çizim komutlarını belirterek bu özelliklerden birini ayarlarsanız, genellikle bu öğenin diğer gerekli öznitelikleriyle birlikte bir XAML öznitelik değeri olarak ayarlarsınız. Ayrıntılara girmeden şöyle görünür:
<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" />
PathGeometry yerine taşıma ve çizme komutlarını kullanma
Windows Çalışma Zamanı XAML'si için taşıma ve çizme komutları, Şekiller özellik değerine sahip tek bir PathFigure nesnesine sahip bir PathGeometry oluşturur. Her çizim komutu, tek bir PathFigure'unSegmentler koleksiyonunda PathSegment türetilmiş bir sınıf oluşturur, move komutu StartPoint'i değiştirir ve bir close komutu varoluşu IsClosed değerini true olarak ayarlar. Çalışma zamanında Veri değerlerini incelerseniz bu yapıda nesne modeli olarak gezinebilirsiniz.
Temel söz dizimi
Taşıma ve çizim komutlarının söz dizimi şu şekilde özetlenebilir:
- İsteğe bağlı bir doldurma kuralıyla başlayın. Bunu genellikle yalnızca EvenOdd varsayılanını istemiyorsanız belirtirsiniz. ( EvenOdd hakkında daha sonra daha fazla bilgi.)
- Tam olarak bir taşıma komutu belirtin.
- Bir veya daha fazla çizim komutu belirtin.
- Bir kapat komutu belirtin. Bir close komutunu atlayabilirsiniz, ancak bu, şeklinizin açık kalmasına neden olur (bu yaygın bir durum değildir).
Bu söz diziminin genel kuralları şunlardır:
- Her komut tam olarak bir harfle temsil edilir.
- Bu harf büyük veya küçük harf olabilir. Açıklayacağımız gibi dava önemli.
- Kapat komutu dışındaki her komut genellikle bir veya daha fazla sayıyla takip edilir.
- Bir komut için birden fazla sayı varsa, virgül veya boşlukla ayırın.
[fillRule]moveCommanddrawCommand[drawCommand*][closeCommand]
Çizim komutlarının çoğu, x,y değeri sağladığınız noktaları kullanır. Bir *nokta yer tutucusu gördüğünüzde, bir noktanın x,y değeri için iki ondalık değer verdiğinizi varsayabilirsiniz.
Sonuç belirsiz olmadığında boşluk genellikle atlanabilir. Tüm sayı kümeleri (noktalar ve boyut) için ayırıcı olarak virgül kullanıyorsanız, aslında tüm boşlukları atlayabilirsiniz. Örneğin, bu kullanım yasaldır: F1M0,58L2,56L6,60L13,51L15,53L6,64z. Ancak netlik için komutlar arasında boşluk eklemek daha normaldir.
Ondalık sayılar için ondalık ayırıcı olarak virgül kullanmayın; komut dizesi XAML tarafından yorumlanır ve en-us yerel ayarında kullanılan kültüre özgü sayı biçimlendirme kurallarını dikkate almaz, bu nedenle farklı kültürlerdeki biçimlendirmeler tanımlanmaz.
Söz dizimi özellikleri
Doldurma kuralı
İsteğe bağlı doldurma kuralı için iki olası değer vardır: F0 veya F1. ( F her zaman büyük harftir.) F0 varsayılan değerdir; EvenOdd doldurma davranışı üretir, bu nedenle normalde bunu belirtmezsiniz. F1 tuşunu kullanarak Nonzero doldurma davranışını edinin. Bu dolgu değerleri FillRule sabit listesinin değerleriyle hizalanır.
Taşı komutu
Yeni bir şeklin başlangıç noktasını belirtir.
| Sözdizimi |
|---|
M
startPoint - veya - m
startPoint |
| Süre | Description |
|---|---|
| startPoint |
Nokta Yeni bir figürün başlangıç noktası. |
Büyük harf M , startPoint'in mutlak bir koordinat olduğunu gösterir; küçük harf m , startPoint'in önceki noktaya uzaklık olduğunu veya önceki bir nokta yoksa (0,0) olduğunu gösterir.
Not Taşıma komutundan sonra birden çok nokta belirtmek yasaldır. Bu noktalara, satır komutunu belirttiğiniz gibi bir çizgi çizilir. Ancak bu önerilen bir stil değildir; bunun yerine ayrılmış satır komutunu kullanın.
Çizim komutları
Çizim komutu çeşitli şekil komutlarından oluşabilir: çizgi, yatay çizgi, dikey çizgi, bezier eğrisinin küpü, ikinci dereceden Bezier eğrisi, pürüzsüz kübik Bezier eğrisi, düz ikinci dereceden Bezier eğrisi ve eliptik yay.
Tüm çizim komutları için büyük/küçük harf önemlidir. Büyük harfler mutlak koordinatları, küçük harfler ise önceki komuta göre koordinatları belirtir.
Bir segmentin denetim noktaları, önceki kesimin bitiş noktasına göredir. Aynı türdeki birden fazla komutu sırayla girerken, yinelenen komut girdisini atlayabilirsiniz. Örneğin, L 100,200 300,400 ile L 100,200 L 300,400eşdeğerdir.
Satır komutu
Geçerli nokta ile belirtilen bitiş noktası arasında düz bir çizgi oluşturur.
l 20 30 ve L 20,30 geçerli satır komutlarının örnekleridir.
LineGeometry nesnesinin eşdeğerini tanımlar.
| Sözdizimi |
|---|
L
bitiş noktası - veya - l
bitiş noktası |
| Süre | Description |
|---|---|
| bitiş noktası |
Nokta Satırın bitiş noktası. |
Yatay çizgi komutu
Geçerli nokta ile belirtilen x koordinatı arasında yatay bir çizgi oluşturur.
H 90 geçerli bir yatay çizgi komutu örneğidir.
| Sözdizimi |
|---|
H
x -veya- h
x |
| Süre | Description |
|---|---|
| x |
Double Satırın bitiş noktasının x koordinatı. |
Dikey çizgi komutu
Geçerli nokta ile belirtilen y koordinatı arasında dikey bir çizgi oluşturur.
v 90 geçerli bir dikey çizgi komutu örneğidir.
| Sözdizimi |
|---|
V
y -veya- v
y |
| Süre | Description |
|---|---|
| y |
Double Satırın bitiş noktasının y koordinatı. |
Kübik Bézier eğrisi komutu
Belirtilen iki denetim noktasını (controlPoint1 ve controlPoint2) kullanarak geçerli nokta ile belirtilen bitiş noktası arasında bir bézier küp eğrisi oluşturur.
C 100,200 200,400 300,200 geçerli bir eğri komutu örneğidir.
PathGeometry nesnesinin bezierSegment nesnesiyle eşdeğerini tanımlar.
| Sözdizimi |
|---|
C
controlPoint1controlPoint2endPoint -veya- c
controlPoint1controlPoint2endPoint |
| Süre | Description |
|---|---|
| controlPoint1 |
Nokta Eğrinin başlangıç tanjantını belirleyen eğrinin ilk denetim noktası. |
| controlPoint2 |
Nokta Eğrinin bitiş tanjantını belirleyen eğrinin ikinci denetim noktası. |
| bitiş noktası |
Nokta Eğrinin çizildiği nokta. |
İkinci dereceden Bézier eğrisi komutu
Belirtilen denetim noktasını (controlPoint) kullanarak geçerli nokta ile belirtilen bitiş noktası arasında ikinci dereceden bir Bézier eğrisi oluşturur.
q 100,200 300,200 geçerli bir ikinci dereceden Bézier eğrisi komutu örneğidir.
PathGeometry'nin eşdeğerini QuadraticBezierSegment ile tanımlar.
| Sözdizimi |
|---|
Q
kontrolNoktası bitişNoktası -veya- q
kontrolNoktası bitişNoktası |
| Süre | Description |
|---|---|
| controlPoint |
Nokta Eğrinin başlangıç ve bitiş tanjantlarını belirleyen eğrinin denetim noktası. |
| bitiş noktası |
Nokta Eğrinin çizildiği nokta. |
Kesintisiz kübik Bézier eğrisi komutu
Geçerli nokta ile belirtilen bitiş noktası arasında bir küp Bézier eğrisi oluşturur. İlk denetim noktasının, geçerli noktaya göre önceki komutun ikinci denetim noktasının yansıması olduğu varsayılır. Önceki bir komut yoksa veya önceki komut bir Bézier eğrisi küp komutu veya düzgün bir Bézier eğrisi kübik komutu değilse, ilk denetim noktasının geçerli noktayla aynı olduğunu varsayalım. İkinci denetim noktası (eğrinin sonunun denetim noktası) controlPoint2 tarafından belirtilir. Örneğin, S 100,200 200,300 geçerli bir düzgün kübik Bézier eğrisi komutudur. Bu komut, önceki eğri segmentinin bulunduğu yerde bir PathGeometry ile bir BezierSegment'in eşdeğerini tanımlar.
| Sözdizimi |
|---|
S
controlPoint2endPoint -veya- s
kontrolNoktası2 bitişNoktası |
| Süre | Description |
|---|---|
| controlPoint2 |
Nokta Eğrinin bitiş tanjantını belirleyen eğrinin denetim noktası. |
| bitiş noktası |
Nokta Eğrinin çizildiği nokta. |
Kusursuz ikinci dereceden Bézier eğrisi komutu
Geçerli nokta ile belirtilen bitiş noktası arasında ikinci dereceden bir Bézier eğrisi oluşturur. Denetim noktasının, geçerli noktaya göre önceki komutun denetim noktasının yansıması olduğu varsayılır. Önceki bir komut yoksa veya önceki komut ikinci dereceden Bézier eğrisi komutu veya düz ikinci dereceden Bézier eğrisi komutu değilse, denetim noktası geçerli noktayla çakışır. Bu komut, PathGeometry eşdeğerini, öncesinde bir eğri segmenti bulunan bir QuadraticBezierSegment ile tanımlar.
| Sözdizimi |
|---|
T
controlPointendPoint -veya- t
controlPointendPoint |
| Süre | Description |
|---|---|
| controlPoint |
Nokta Eğrinin başlangıç ve tanjantını belirleyen eğrinin denetim noktası. |
| bitiş noktası |
Nokta Eğrinin çizildiği nokta. |
Eliptik yay komutu
Geçerli nokta ile belirtilen bitiş noktası arasında eliptik bir yay oluşturur. ArcSegment ile PathGeometry'nin eşdeğerini tanımlar.
| Sözdizimi |
|---|
A
sizerotationAngleisLargeArcFlagsweepDirectionFlagendPoint -veya- a
sizerotationAngleisLargeArcFlagsweepDirectionFlagendPoint |
| Süre | Description |
|---|---|
| boyut |
Boyut Arkın x yarıçapı ve y yarıçapı. |
| rotationAngle |
Double Elipsin dönüş açısı, derece cinsinden. |
| isLargeArcFlag | Yay açısının 180 derece veya daha büyük olması gerekiyorsa 1 olarak ayarlayın; aksi takdirde 0 olarak ayarlayın. |
| sweepDirectionFlag | Yay pozitif açı yönünde çizilmişse 1 olarak ayarlayın; aksi takdirde 0 olarak ayarlayın. |
| bitiş noktası |
Nokta Yay çizildiği nokta. |
Kapat komutu
Geçerli şekli sonlandırır ve geçerli noktayı şeklin başlangıç noktasına bağlayan bir çizgi oluşturur. Bu komut, şeklin son kesimiyle ilk kesimi arasında bir satır birleştirme (köşe) oluşturur.
| Sözdizimi |
|---|
Z -veya- z |
Nokta söz dizimi
Bir noktanın x koordinatını ve y koordinatını açıklar. Ayrıca bkz. Nokta.
| Sözdizimi |
|---|
|
x,y -veya- xy |
| Süre | Description |
|---|---|
| x |
Double Noktanın x koordinatı. |
| y |
Çift Noktanın y koordinatı. |
Ek notlar
Standart sayısal değer yerine aşağıdaki özel değerleri de kullanabilirsiniz. Bu değerler harf büyüklüğüne duyarlıdır.
- Sonsuzluk: PositiveInfinity'i temsil eder.
- -Infinity: NegativeInfinity'i temsil eder.
- NaN: NaN'i temsil eder.
Ondalık veya tamsayı kullanmak yerine bilimsel gösterimi kullanabilirsiniz. Örneğin, +1.e17 geçerli bir değerdir.
Taşıma ve çizme komutları üreten tasarım araçları
Microsoft Visual Studio 2015 için Blend'de Kalem aracını ve diğer çizim araçlarını kullanmak genellikle taşıma ve çizme komutları içeren bir Path nesnesi oluşturur.
Windows Çalışma Zamanı XAML varsayılan denetim şablonlarında tanımlanan belirli denetim bölümlerinde mevcut taşıma ve çizim komutu verilerini görebilirsiniz. Örneğin, bazı denetimler taşıma ve çizme komutları olarak tanımlanan verileri içeren bir PathIcon kullanır.
XAML biçiminde vektör çıktısı oluşturabilen diğer yaygın kullanılan vektör grafiği tasarım araçları için kullanılabilir olan dışarı aktarıcılar veya eklentiler vardır. Bu öğeler genellikle bir düzen kapsayıcısında, Path nesneleri oluşturur ve Path.Data için taşıma ve çizim komutlarını içerir. Farklı fırçaların uygulanabilmesi için XAML'de birden çok Yol öğesi olabilir. Bu ihracatçıların veya eklentilerin çoğu başlangıçta Windows Presentation Foundation (WPF) XAML veya Silverlight için yazılmıştır, ancak XAML yolu söz dizimi Windows Runtime XAML ile aynıdır. Genellikle, bir dışarı aktarıcının XAML öbeklerini kullanabilir ve bunları doğrudan bir Windows Çalışma Zamanı XAML sayfasına yapıştırabilirsiniz. (Ancak, dönüştürülen XAML'nin bir parçasıysa RadialGradientBrush kullanamazsınız çünkü Windows Çalışma Zamanı XAML bu fırçayı desteklemez.)
İlgili konular
Windows developer