Sintaks markup jalur
Sintaks markup jalur .NET Multi-platform App UI (.NET MAUI) memungkinkan Anda menentukan geometri jalur secara ringkas di XAML.
Sintaks markup jalur ditentukan sebagai nilai string ke Path.Data
properti:
<Path Stroke="Black"
Data="M13.908992,16.207977 L32.000049,16.207977 32.000049,31.999985 13.908992,30.109983Z" />
Sintaks markup jalur terdiri dari nilai opsional FillRule
, dan satu atau beberapa deskripsi gambar. Sintaks ini dapat dinyatakan sebagai: <Path Data="
[fillRule] figureDescription [figureDescription] * " ... />
Dalam sintaks ini:
- fillRule adalah opsional FillRule yang menentukan apakah geometri harus menggunakan aturan pengisian EvenOdd atau Nonzero .
F0
digunakan untuk menentukan EvenOdd aturan isian, saatF1
digunakan untuk menentukan Nonzero aturan isian. Untuk informasi selengkapnya tentang aturan isian, lihat Mengisi aturan. - figureDescription mewakili gambar yang terdiri dari perintah pemindahan, perintah gambar, dan perintah tutup opsional. Perintah pemindahan menentukan titik awal gambar. Perintah gambar menjelaskan konten gambar, dan perintah tutup opsional menutup gambar.
Dalam contoh di atas, sintaks markup jalur menentukan titik mulai menggunakan perintah pemindahan (M
), serangkaian garis lurus menggunakan perintah baris (L
), dan menutup jalur dengan perintah tutup (Z
).
Dalam sintaks markup jalur, spasi tidak diperlukan sebelum atau sesudah perintah. Selain itu, dua angka tidak harus dipisahkan oleh koma atau spasi putih, tetapi ini hanya dapat dicapai ketika string tidak ambigu.
Tip
Sintaks markup jalur kompatibel dengan definisi jalur gambar Scalable Vector Graphics (SVG), sehingga dapat berguna untuk porting grafis dari format SVG.
Meskipun sintaks markup jalur ditujukan untuk konsumsi di XAML, itu dapat dikonversi ke Geometry objek dalam kode dengan memanggil ConvertFromInvariantString
metode di PathGeometryConverter kelas :
Geometry pathData = (Geometry)new PathGeometryConverter().ConvertFromInvariantString("M13.908992,16.207977 L32.000049,16.207977 32.000049,31.999985 13.908992,30.109983Z");
Perintah pindahkan
Perintah pemindahan menentukan titik awal gambar baru. Sintaks untuk perintah ini adalah: M
startPoint atau m
startPoint.
Dalam sintaks ini, startPoint adalah Point
struktur yang menentukan titik awal gambar baru. Jika Anda mencantumkan beberapa titik setelah perintah pemindahan, garis akan digambar ke titik-titik tersebut.
M 10,10
adalah contoh perintah pemindahan yang valid.
Gambar perintah
Perintah gambar dapat terdiri dari beberapa perintah bentuk. Perintah gambar berikut tersedia:
- Baris (
L
ataul
). - Garis horizontal (
H
atauh
). - Garis vertikal (
V
atauv
). - Busur elips (
A
ataua
). - Kurva Cubic Bezier (
C
atauc
). - Kurva Bezier kuadrat (
Q
atauq
). - Kurva Bezier kubik halus (
S
ataus
). - Kurva Bezier kuadrat halus (
T
ataut
).
Setiap perintah gambar ditentukan dengan huruf yang tidak peka huruf besar/kecil. Saat secara berurutan memasukkan lebih dari satu perintah dengan jenis yang sama, Anda dapat menghilangkan entri perintah duplikat. Misalnya L 100,200 300,400
setara dengan L 100,200 L 300,400
.
Perintah baris
Perintah baris membuat garis lurus antara titik saat ini dan titik akhir yang ditentukan. Sintaks untuk perintah ini adalah: L
endPoint atau l
endPoint.
Dalam sintaks ini, endPoint adalah Point
titik akhir garis yang mewakili titik akhir.
L 20,30
dan L 20 30
merupakan contoh perintah baris yang valid.
Untuk informasi tentang membuat garis lurus sebagai PathGeometry objek, lihat Membuat LineSegment.
Perintah garis horizontal
Perintah garis horizontal membuat garis horizontal antara titik saat ini dan koordinat x yang ditentukan. Sintaks untuk perintah ini adalah: H
x atau h
x.
Dalam sintaks ini, x adalah double
yang mewakili koordinat x dari titik akhir garis.
H 90
adalah contoh perintah baris horizontal yang valid.
Perintah baris vertikal
Perintah garis vertikal membuat garis vertikal antara titik saat ini dan koordinat y yang ditentukan. Sintaks untuk perintah ini adalah: V
y atau v
y.
Dalam sintaks ini, y adalah double
yang mewakili koordinat y dari titik akhir garis.
V 90
adalah contoh perintah baris vertikal yang valid.
Perintah busur elips
Perintah busur elips membuat busur elips antara titik saat ini dan titik akhir yang ditentukan. Sintaks untuk perintah ini adalah: A
rotasi ukuranAngle isLargeArcFlag sweepDirectionFlag endPoint atau a
rotasi ukuranAngle isLargeArcFlag sweepDirectionFlag endPoint.
Dalam sintaks ini:
size
Size
adalah yang mewakili radius x dan y busur.rotationAngle
adalahdouble
yang mewakili rotasi elips, dalam derajat.isLargeArcFlag
harus diatur ke 1 jika sudut busur harus 180 derajat atau lebih besar, jika tidak, atur ke 0.sweepDirectionFlag
harus diatur ke 1 jika busur digambar dalam arah sudut positif, jika tidak, atur ke 0.endPoint
adalah busurPoint
yang digambar.
A 150,150 0 1,0 150,-150
adalah contoh perintah busur elips yang valid.
Untuk informasi tentang membuat busur elips sebagai PathGeometry objek, lihat Membuat ArcSegment.
Perintah kurva Bezier kubik
Perintah kurva Bezier kubik membuat kurva Bezier kubik antara titik saat ini dan titik akhir yang ditentukan dengan menggunakan dua titik kontrol yang ditentukan. Sintaks untuk perintah ini adalah: C
controlPoint1 controlPoint2 endPoint atau c
controlPoint1 controlPoint2 endPoint.
Dalam sintaks ini:
- controlPoint1 adalah
Point
yang mewakili titik kontrol pertama kurva, yang menentukan tangen awal kurva. - controlPoint2 adalah
Point
yang mewakili titik kontrol kedua kurva, yang menentukan tangen akhir kurva. - endPoint adalah
Point
yang mewakili titik di mana kurva digambar.
C 100,200 200,400 300,200
adalah contoh perintah kurva Bezier kubik yang valid.
Untuk informasi tentang membuat kurva Bezier kubik sebagai PathGeometry objek, lihat Membuat BezierSegment.
Perintah kurva Quadratic Bezier
Perintah kurva Bezier kuadrat membuat kurva Bezier kuadrat antara titik saat ini dan titik akhir yang ditentukan dengan menggunakan titik kontrol yang ditentukan. Sintaks untuk perintah ini adalah: Q
titik akhir controlPoint atau q
titik akhir controlPoint.
Dalam sintaks ini:
- controlPoint adalah
Point
yang mewakili titik kontrol kurva, yang menentukan tangen awal dan akhir kurva. - endPoint adalah
Point
yang mewakili titik di mana kurva digambar.
Q 100,200 300,200
adalah contoh perintah kurva Bezier kuadrat yang valid.
Untuk informasi tentang membuat kurva Bezier kuadrat sebagai PathGeometry objek, lihat Membuat QuadraticBezierSegment.
Perintah kurva Bezier kubik halus
Perintah kurva Bezier kubik halus membuat kurva Bezier kubik antara titik saat ini dan titik akhir yang ditentukan dengan menggunakan titik kontrol yang ditentukan. Sintaks untuk perintah ini adalah: S
titik akhir controlPoint2 atau s
titik akhir controlPoint2.
Dalam sintaks ini:
- controlPoint2 adalah
Point
yang mewakili titik kontrol kedua kurva, yang menentukan tangen akhir kurva. - endPoint adalah
Point
yang mewakili titik di mana kurva digambar.
Titik kontrol pertama diasumsikan sebagai cerminan titik kontrol kedua dari perintah sebelumnya, relatif terhadap titik saat ini. Jika tidak ada perintah sebelumnya, atau perintah sebelumnya bukan perintah kurva Bezier kubik atau perintah kurva Bezier kubik halus, titik kontrol pertama diasumsikan bertepatan dengan titik saat ini.
S 100,200 200,300
adalah contoh perintah kurva Bezier kubik halus yang valid.
Perintah kurva Bezier kuadrat halus
Perintah kurva Bezier kuadrat halus membuat kurva Bezier kuadrat antara titik saat ini dan titik akhir yang ditentukan dengan menggunakan titik kontrol. Sintaks untuk perintah ini adalah: T
endPoint atau t
endPoint.
Dalam sintaks ini, endPoint adalah Point
yang mewakili titik di mana kurva digambar.
Titik kontrol diasumsikan sebagai pantulan titik kontrol perintah sebelumnya relatif terhadap titik saat ini. Jika tidak ada perintah sebelumnya atau jika perintah sebelumnya bukan kurva Bezier kuadrat atau perintah kurva Bezier kuadrat yang halus, titik kontrol diasumsikan bertepatan dengan titik saat ini.
T 100,30
adalah contoh perintah kurva Bezier kuadrat kuadrat halus yang valid.
Tutup perintah
Perintah tutup mengakhiri gambar saat ini dan membuat garis yang menyambungkan titik saat ini ke titik awal gambar. Oleh karena itu, perintah ini membuat gabungan baris antara segmen terakhir dan segmen pertama gambar.
Sintaks untuk perintah tutup adalah: Z
atau z
.
Nilai tambahan
Alih-alih nilai numerik standar, Anda juga dapat menggunakan nilai khusus peka huruf besar/kecil berikut:
Infinity
double.PositiveInfinity
mewakili .-Infinity
double.NegativeInfinity
mewakili .NaN
double.NaN
mewakili .
Selain itu, Anda juga dapat menggunakan notasi ilmiah yang tidak peka huruf besar/kecil. Oleh karena itu, +1.e17
adalah nilai yang valid.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk