Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.
Anda menggunakan bahasa mini StreamGeometry saat menetapkan properti tipe Geometry, seperti properti Clip dari UIElement atau properti Data dari elemen Path. Contoh berikut menggunakan sintaks atribut untuk membuat StreamGeometry.
<Path Stroke="Black" Fill="Gray" Data="M 10,100 C 10,300 300,-200 300,100" />Anda menggunakan bahasa mini PathFigureCollection saat mengatur properti FiguresPathGeometry. Contoh berikut menggunakan sintaks atribut untuk membuat PathFigureCollection untuk PathGeometry.
<Path Stroke="Black" Fill="Gray"> <Path.Data> <PathGeometry Figures="M 10,100 C 10,300 300,-200 300,100" /> </Path.Data> </Path>
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.
| 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
- Path
- StreamGeometry
- PathGeometry
- PathFigureCollection
- Bentuk dan Gambar Dasar dalam gambaran umum WPF
- Gambaran Umum Geometri
- Topik Panduan
.NET Desktop feedback