Aracılığıyla paylaş


Xamarin.Forms Şekiller: Yol işaretleme söz dizimi

Xamarin.Forms yol işaretleme söz dizimi, XAML'de yol geometrilerini kısa bir şekilde belirtmenizi sağlar. Söz dizimi, özelliğine Path.Data bir dize değeri olarak belirtilir:

<Path Stroke="Black"
      Data="M13.908992,16.207977 L32.000049,16.207977 32.000049,31.999985 13.908992,30.109983Z" />

Yol işaretleme söz dizimi isteğe bağlı FillRule bir değerden ve bir veya daha fazla şekil açıklamasından oluşur. Bu söz dizimi şu şekilde ifade edilebilir: <Path Data="[fillRule] figureDescription [figureDescription] * " ... />

Bu sözdiziminde:

  • fillRule, geometrinin veya Nonzero FillRulekullanıp kullanmayacağını EvenOdd belirten isteğe bağlı Xamarin.Forms.Shapes.FillRule bir seçenektir. F0 , doldurma kuralını belirtmek EvenOdd için kullanılırken F1 , doldurma kuralını belirtmek Nonzero için kullanılır. Doldurma kuralları hakkında daha fazla bilgi için bkz Xamarin.Forms . Şekiller: Doldurma kuralları.
  • figureDescription , taşıma komutu, çizim komutları ve isteğe bağlı kapatma komutundan oluşan bir şekli temsil eder. Move komutu, şeklin başlangıç noktasını belirtir. Çizim komutları, şeklin içeriğini açıklar ve isteğe bağlı kapat komutu da şekli kapatır.

Yukarıdaki örnekte yol işaretleme söz dizimi, move komutunu ()M kullanarak bir başlangıç noktası, satır komutunu ()L kullanan bir dizi düz çizgi belirtir ve yolu kapat komutuyla (Z ) kapatır.

Yol işaretleme söz diziminde, komutlar öncesinde veya sonrasında boşluklar gerekli değildir. Buna ek olarak, iki sayının virgül veya boşlukla ayrılması gerekmez, ancak bu yalnızca dize belirsiz olduğunda gerçekleştirilebilir.

İpucu

Yol işaretleme söz dizimi Ölçeklenebilir Vektör Grafikleri (SVG) görüntü yolu tanımlarıyla uyumludur ve bu nedenle grafikleri SVG biçiminden taşımada yararlı olabilir.

Yol işaretleme söz dizimi XAML'de kullanıma yönelik olsa da, sınıfındaki yöntemi çağrılarak koddaki PathGeometryConverter bir Geometry nesneye ConvertFromInvariantString dönüştürülebilir:

Geometry pathData = (Geometry)new PathGeometryConverter().ConvertFromInvariantString("M13.908992,16.207977 L32.000049,16.207977 32.000049,31.999985 13.908992,30.109983Z");

Taşı komutu

Move komutu yeni bir şeklin başlangıç noktasını belirtir. Bu komutun söz dizimi: M startPoint veya m startPoint.

Bu söz diziminde startPoint, yeni bir Point şeklin başlangıç noktasını belirten bir yapıdır. Taşı komutundan sonra birden çok noktayı listelerseniz, bu noktalara bir çizgi çizilir.

M 10,10 geçerli bir taşıma komutu örneğidir.

Çizim komutları

Çizim komutu birkaç şekil komutundan oluşabilir. Aşağıdaki çizim komutları kullanılabilir:

  • Satır (L veya l).
  • Yatay çizgi (H veya h).
  • Dikey çizgi (V veya v).
  • Eliptik yay (A veya a).
  • Bezier eğrisinin (C veya c) küp
  • İkinci dereceden Bezier eğrisi (Q veya q).
  • Kesintisiz kübik Bezier eğrisi (S veya s).
  • Düz ikinci dereceden Bezier eğrisi (T veya t).

Her draw komutu büyük/küçük harfe duyarsız bir harfle belirtilir. 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

Line komutu geçerli nokta ile belirtilen bitiş noktası arasında düz bir çizgi oluşturur. Bu komutun söz dizimi: L endPoint veya l endPoint.

Bu söz diziminde endPoint, satırın bitiş noktasını temsil eden bir Point noktadır.

L 20,30 ve L 20 30 geçerli satır komutlarının örnekleridir.

Nesne olarak PathGeometry düz çizgi oluşturma hakkında bilgi için bkz . LineSegment oluşturma.

Yatay çizgi komutu

Yatay çizgi komutu, geçerli nokta ile belirtilen x koordinatı arasında yatay bir çizgi oluşturur. Bu komutun söz dizimi: H x veya h x.

Bu söz diziminde x, satırın bitiş noktasının x koordinatını temsil eden bir double ifadedir.

H 90 geçerli bir yatay çizgi komutu örneğidir.

Dikey çizgi komutu

Dikey çizgi komutu, geçerli nokta ile belirtilen y koordinatı arasında dikey bir çizgi oluşturur. Bu komutun söz dizimi: V y veya v y.

Bu söz diziminde y, satırın bitiş noktasının y koordinatını temsil eden bir double ifadedir.

V 90 geçerli bir dikey çizgi komutu örneğidir.

Eliptik yay komutu

Eliptik yay komutu, geçerli nokta ile belirtilen bitiş noktası arasında bir eliptik yay oluşturur. Bu komutun söz dizimi şöyledir: A size rotationAngle isLargeArcFlag sweepDirectionFlag endPoint veya a size rotationAngle isLargeArcFlag sweepDirectionFlag endPoint.

Bu sözdiziminde:

  • size , arkın x ve y yarıçapını temsil eden bir Size ifadedir.
  • rotationAngle , üç noktanın döndürmesini derece cinsinden temsil eden bir double değerdir.
  • isLargeArcFlag yay açısı 180 derece veya daha büyükse 1 olarak ayarlanmalıdır, aksi takdirde 0 olarak ayarlanmalıdır.
  • sweepDirectionFlag yay pozitif açı yönünde çizilmişse 1 olarak ayarlanmalıdır, aksi takdirde 0 olarak ayarlanmalıdır.
  • endPoint , arkın çizildiği bir Point yerdir.

A 150,150 0 1,0 150,-150 geçerli bir eliptik yay komutu örneğidir.

Nesne olarak PathGeometry eliptik yay oluşturma hakkında bilgi için bkz . ArcSegment oluşturma.

Bezier eğrisi küp komutu

Bezier eğrisi küp komutu, belirtilen iki denetim noktasını kullanarak geçerli nokta ile belirtilen bitiş noktası arasında bir küp Bezier eğrisi oluşturur. Bu komutun söz dizimi: C controlPoint1 controlPoint2 endPoint veya c controlPoint1 controlPoint2 endPoint.

Bu sözdiziminde:

  • controlPoint1 , eğrinin ilk denetim noktasını temsil eden ve eğrinin başlangıç tanjantını belirleyen bir Point denetim noktasıdır.
  • controlPoint2 , eğrinin bitiş tanjantını belirleyen, eğrinin ikinci denetim noktasını temsil eden bir Point tablodur.
  • endPoint , eğrinin çizildiği noktayı temsil eden bir Point noktadır.

C 100,200 200,400 300,200 geçerli bir kübik Bezier eğrisi komutu örneğidir.

Nesne olarak PathGeometry kübik Bezier eğrisi oluşturma hakkında bilgi için bkz . BezierSegment oluşturma.

İkinci dereceden Bezier eğrisi komutu

İkinci dereceden Bezier eğrisi komutu, belirtilen denetim noktasını kullanarak geçerli nokta ile belirtilen bitiş noktası arasında ikinci dereceden bezier eğrisi oluşturur. Bu komutun söz dizimi: Q controlPoint endPoint veya q controlPoint endPoint.

Bu sözdiziminde:

  • controlPoint , eğrinin başlangıç ve bitiş tanjantlarını belirleyen eğrinin denetim noktasını temsil eden bir Point öğedir.
  • endPoint , eğrinin çizildiği noktayı temsil eden bir Point noktadır.

Q 100,200 300,200 geçerli ikinci dereceden Bezier eğrisi komutunun bir örneğidir.

Nesne olarak PathGeometry ikinci dereceden Bezier eğrisi oluşturma hakkında bilgi için bkz . QuadraticBezierSegment oluşturma.

Kesintisiz kübik Bezier eğrisi komutu

Kesintisiz kübik Bezier eğrisi komutu, belirtilen denetim noktasını kullanarak geçerli nokta ile belirtilen bitiş noktası arasında bir küp Bezier eğrisi oluşturur. Bu komutun söz dizimi: S controlPoint2 endPoint veya scontrolPoint2 endPoint.

Bu sözdiziminde:

  • controlPoint2 , eğrinin bitiş tanjantını belirleyen, eğrinin ikinci denetim noktasını temsil eden bir Point tablodur.
  • endPoint , eğrinin çizildiği noktayı temsil eden bir Point noktadır.

İ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 kübik Bezier eğrisi komutu veya düz kübik Bezier eğrisi komutu değilse, ilk denetim noktasının geçerli noktayla aynı olduğu varsayılır.

S 100,200 200,300 geçerli bir kesintisiz kübik Bezier eğrisi komutu örneğidir.

Düz ikinci dereceden Bezier eğrisi komutu

Düz ikinci dereceden Bezier eğrisi komutu, bir denetim noktası kullanarak geçerli nokta ile belirtilen bitiş noktası arasında ikinci dereceden bezier eğrisi oluşturur. Bu komutun söz dizimi: T endPoint veya t endPoint.

Bu söz diziminde endPoint, eğrinin çizildiği noktayı temsil eden bir Point noktadır.

Denetim noktasının, geçerli noktaya göre önceki komutun denetim noktasının yansıması olduğu varsayılır. Önceki komut yoksa veya önceki komut ikinci dereceden Bezier eğrisi veya düz ikinci dereceden Bezier eğrisi komutu değilse, denetim noktasının geçerli noktayla aynı olduğu varsayılır.

T 100,30 geçerli bir düz ikinci dereceden kübik Bezier eğrisi komutu örneğidir.

Kapat komutu

Kapat komutu geçerli şekli sonlandırır ve geçerli noktayı şeklin başlangıç noktasına bağlayan bir çizgi oluşturur. Bu nedenle, bu komut son kesim ile şeklin ilk kesimi arasında bir satır birleştirme oluşturur.

Kapat komutunun söz dizimi şöyledir: Z veya z.

Ek değerler

Standart sayısal değer yerine aşağıdaki büyük/küçük harfe duyarlı özel değerleri de kullanabilirsiniz:

  • Infinity öğesini temsil eder double.PositiveInfinity.
  • -Infinity öğesini temsil eder double.NegativeInfinity.
  • NaN öğesini temsil eder double.NaN.

Ayrıca büyük/küçük harfe duyarsız bilimsel gösterimi de kullanabilirsiniz. Bu nedenle geçerli +1.e17 bir değerdir.