Bagikan melalui


Sintaks Jalur Markup

Jalur dibahas dalam Bentuk dan Gambar Dasar dalam Gambaran Umum WPF dan Gambaran Umum Geometri , namun, topik ini menjelaskan secara rinci bahasa mini yang kuat dan kompleks yang dapat Anda gunakan untuk menentukan geometri jalur dengan lebih ringkas menggunakan Extensible Application Markup Language (XAML).

Prasyarat

Untuk memahami topik ini, Anda harus terbiasa dengan fitur dasar objek Geometry. Untuk informasi selengkapnya, lihat Gambaran Umum Geometri.

StreamGeometry dan PathFigureCollection Mini-Languages

WPF menyediakan dua kelas yang menyediakan bahasa mini untuk menjelaskan jalur geometris: StreamGeometry dan PathFigureCollection.

Seperti yang Anda lihat dari contoh sebelumnya, dua bahasa mini sangat mirip. Anda selalu dapat menggunakan PathGeometry dalam situasi apa pun di mana Anda dapat menggunakan StreamGeometry; jadi yang mana yang harus Anda gunakan? Gunakan StreamGeometry saat Anda tidak perlu mengubah jalur setelah membuatnya; gunakan PathGeometry jika Anda perlu mengubah jalur.

Untuk informasi selengkapnya tentang perbedaan antara objek PathGeometry dan StreamGeometry, lihat Gambaran Umum Geometri .

Catatan tentang Ruang Kosong

Untuk singkatnya, spasi tunggal ditampilkan di bagian sintaksis berikut, tetapi beberapa spasi juga dapat diterima di mana pun satu spasi disarankan.

Dua angka sebenarnya tidak harus dipisahkan oleh koma atau spasi putih, tetapi ini hanya dapat dilakukan ketika string yang dihasilkan tidak ambigu. Misalnya, 2..3 sebenarnya adalah dua angka: "2." Dan ".3". Demikian pula, 2-3 adalah "2" dan "-3". Spasi tidak diperlukan sebelum atau sesudah perintah pun.

Sintaksis

Sintaks penggunaan atribut Extensible Application Markup Language (XAML) untuk StreamGeometry terdiri dari nilai FillRule opsional dan satu atau beberapa deskripsi gambar.

Penggunaan Atribut StreamGeometry XAML
< objekproperti="[ fillRule] figureDescription[ figureDescription]* " ... />

Sintaks penggunaan atribut Extensible Application Markup Language (XAML) untuk PathFigureCollection terdiri dari satu atau beberapa deskripsi gambar.

Penggunaan Atribut PathFigureCollection XAML
< objekproperti="figureDescription[ figureDescription]* " ... />
Istilah Deskripsi
fillRule System.Windows.Media.FillRule

Menentukan apakah StreamGeometry menggunakan EvenOdd atau NonzeroFillRule.

- F0 menentukan aturan pengisian EvenOdd.
- F1 menentukan aturan pengisian Nonzero.

Jika Anda menghilangkan perintah ini, subpath menggunakan perilaku default, yaitu EvenOdd. Jika Anda menentukan perintah ini, Anda harus menempatkannya terlebih dahulu.
figureDescription Gambar yang terdiri dari perintah pemindahan, perintah menggambar, dan perintah tutup opsional.

moveCommand drawCommands [ closeCommand ]
pindahkanKomando Perintah pemindahan yang menentukan titik awal gambar. Lihat bagian Perintah Pemindahan.
perintahMenggambar Satu atau beberapa perintah gambar yang menjelaskan konten gambar. Lihat bagian Perintah Gambar.
tutupPerintah Perintah tutup opsional yang menutup figura. Lihat bagian Perintah Tutup.

Perintah Pemindahan

Menentukan titik awal untuk gambar baru.

Sintaksis
M titikMulai

- atau -

m titikMulai
Istilah Deskripsi
titikMulai System.Windows.Point

Titik awal dari figur baru.

M huruf besar menunjukkan bahwa startPoint adalah nilai absolut; m huruf kecil menunjukkan bahwa startPoint adalah offset ke titik sebelumnya, atau (0,0) jika tidak ada. Jika Anda mencantumkan beberapa titik setelah perintah pemindahan, garis digambar ke titik tersebut meskipun Anda menentukan perintah baris.

Perintah Menggambar

Perintah gambar dapat terdiri dari beberapa perintah bentuk. Perintah bentuk berikut tersedia: garis, garis horizontal, garis vertikal, kurva Bezier kubik, kurva Bezier kuadrat, kurva Bezier kubik halus, kurva Bezier kuadrat halus, dan busur elips.

Anda memasukkan setiap perintah dengan menggunakan huruf besar atau huruf kecil: huruf besar menunjukkan nilai absolut dan huruf kecil menunjukkan nilai relatif: titik kontrol untuk segmen tersebut relatif terhadap titik akhir contoh sebelumnya.

Petunjuk / Saran

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

Membuat garis lurus antara titik saat ini dan titik akhir yang ditentukan. dan adalah contoh perintah baris yang valid.

Sintaksis
L titik akhir

- atau -

l titik akhir
Istilah Deskripsi
titik akhir System.Windows.Point

Titik akhir garis.

L huruf besar menunjukkan bahwa endPoint adalah nilai absolut; l huruf kecil menunjukkan bahwa endPoint adalah offset ke titik sebelumnya, atau (0,0) jika tidak ada.

Perintah Garis Horizontal

Membuat garis horizontal antara titik saat ini dan koordinat x yang ditentukan. H 90 adalah contoh perintah garis horizontal yang valid.

Sintaksis
H X

- atau -

h X
Istilah Deskripsi
x System.Double

Koordinat x dari titik akhir garis.

H huruf besar menunjukkan bahwa x adalah nilai absolut; h huruf kecil menunjukkan bahwa x adalah offset ke titik sebelumnya, atau (0,0) jika tidak ada.

Perintah Garis Vertikal

Membuat garis vertikal antara titik saat ini dan koordinat y yang ditentukan. v 90 adalah contoh perintah garis vertikal yang valid.

Sintaksis
V Y

- atau -

v Y
Istilah Deskripsi
y System.Double

Koordinat y dari titik akhir garis.

V huruf besar menunjukkan bahwa y adalah nilai absolut; v huruf kecil menunjukkan bahwa y adalah offset ke titik sebelumnya, atau (0,0) jika tidak ada.

Perintah Kurva Bezier Kubik

Membuat kurva Bezier kubik antara titik saat ini dan titik akhir yang ditentukan dengan menggunakan dua titik kontrol yang ditentukan (controlPoint1 dan controlPoint2). C 100,200 200,400 300,200 adalah contoh perintah kurva yang valid.

Sintaksis
C controlPoint1controlPoint2endPoint

- atau -

c controlPoint1controlPoint2endPoint
Istilah Deskripsi
controlPoint1 System.Windows.Point

Titik kontrol pertama dari kurva, yang menentukan tangen awal dari kurva.
controlPoint2 System.Windows.Point

Titik kontrol kedua kurva, yang menentukan tangen akhir kurva.
endPoint System.Windows.Point

Titik di mana kurva digambar.

Perintah Kurva Kuadrat Bezier

Membuat kurva Bezier kuadrat antara titik saat ini dan titik akhir yang ditentukan dengan menggunakan titik kontrol yang ditentukan (controlPoint). q 100,200 300,200 adalah contoh perintah kurva Bezier kuadrat yang valid.

Sintaksis
Q controlPoint endPoint

- atau -

q controlPoint endPoint
Istilah Deskripsi
controlPoint System.Windows.Point

Titik kontrol kurva, yang menentukan tangen awal dan akhir kurva.
endPoint System.Windows.Point

Titik di mana kurva digambar.

Perintah kurva halus Bezier kubik

Membuat kurva Bezier kubik antara titik saat ini dan titik akhir yang ditentukan. Titik kontrol pertama diasumsikan sebagai cerminan titik kontrol kedua dari perintah sebelumnya relatif terhadap titik saat ini. Jika tidak ada perintah sebelumnya atau jika perintah sebelumnya bukan perintah kurva Bezier kubik atau perintah kurva Bezier kubik halus, asumsikan titik kontrol pertama bertepatan dengan titik saat ini. Titik kontrol kedua, titik kontrol untuk akhir kurva, ditentukan oleh controlPoint2. Misalnya, S 100,200 200,300 adalah perintah kurva Bezier kubik halus yang valid.

Sintaksis
S controlPoint2endPoint

- atau -

s controlPoint2endPoint
Istilah Deskripsi
controlPoint2 System.Windows.Point

Titik kontrol kurva, yang menentukan tangen akhir kurva.
endPoint System.Windows.Point

Titik di mana kurva digambar.

Perintah Kurva Bezier Kuadrat yang Halus

Membuat kurva Bezier kuadrat antara titik saat ini dan titik akhir yang ditentukan. Titik kontrol diasumsikan sebagai pantulan titik kontrol perintah sebelumnya relatif terhadap titik saat ini. Jika tidak ada perintah sebelumnya atau jika perintah sebelumnya bukan perintah kurva Bezier kuadrat atau perintah kurva Bezier kuadrat halus, titik kontrol bertepatan dengan titik saat ini.

Sintaksis
T endPoint

- atau -

t endPoint
Istilah Deskripsi
endPoint System.Windows.Point

Titik di mana kurva digambar.

Perintah Busur Elipsa

Membuat busur elips antara titik saat ini dan titik akhir yang ditentukan.

Sintaksis
A size rotationAngle isLargeArcFlag sweepDirectionFlag endPoint

- atau -

a size rotationAngle isLargeArcFlag sweepDirectionFlag endPoint
Istilah Deskripsi
size System.Windows.Size

Radius x dan y busur.
rotationAngle System.Double

Rotasi elips, dalam derajat.
isLargeArcFlag Atur ke 1 jika sudut busur harus 180 derajat atau lebih besar; jika tidak, atur ke 0.
sweepDirectionFlag Atur ke 1 jika busur digambar dalam arah sudut positif; jika tidak, atur ke 0.
endPoint System.Windows.Point

Titik di mana busur digambar.

Perintah Menutup

Mengakhiri gambar saat ini dan membuat garis yang menghubungkan titik saat ini ke titik awal gambar. Perintah ini membuat sambungan garis (titik temu) antara segmen terakhir dan segmen pertama dari bentuk.

Sintaksis
Z

- atau -

z

Sintaks Titik

Menjelaskan koordinat x dan y dari titik di mana (0,0) adalah sudut kiri atas.

Sintaksis
x , y

- atau -

x y
Istilah Deskripsi
x System.Double

Koordinat x dari titik.
y System.Double

Koordinat Y dari titik.

Nilai Khusus

Alih-alih nilai numerik standar, Anda juga dapat menggunakan nilai khusus berikut. Nilai-nilai ini memperhatikan kesesuaian huruf besar/kecil.

Infinity Merepresentasikan Double.PositiveInfinity.

-Infinity Mewakili Double.NegativeInfinity.

NaN Melambangkan Double.NaN.

Anda juga dapat menggunakan notasi ilmiah. Misalnya, +1.e17 adalah nilai yang valid.

Lihat juga