Polygon
Ko'pburchak ko'pburchakni anglatadi. Ballar to'plamidan foydalanib, element nuqta to'plamini - qatorlar bo'yicha ketma-ket ulangan Point turidagi ob'ektlarni, oxirgi nuqtasi birinchisiga ulanadi:
Fill="LightPink" Points="50, 150, 150, 50, 250, 150" />
Bunday holda, biz uchburchakni tashkil etadigan uchta (50, 150), (150, 50) va (250, 150) nuqtalarga egamiz.
Polyline
Polyline chiziqlar bilan bog'langan nuqtalar to'plamini anglatadi. Shu munosabat bilan, ushbu element ko'pburchakka o'xshaydi, bundan tashqari, birinchi va oxirgi nuqtalar bir-biriga ulanmaydi:
Stroke="Red" Points="50, 150, 150, 50, 250, 150" />
Konturni sozlash
Bir qator xususiyatlardan foydalanib, kontur ekranini sozlashimiz mumkin. Masalan:
StrokeThickness="5" StrokeDashArray="4 2"
Stroke="Gray" StrokeDashCap="Round" />
Konturning rangi Strok xususiyati yordamida aniqlanadi va qalinligi StrokThickness yordamida aniqlanadi.
StrokDashArray chiziqlar uzunligini belgilash bilan birga belgilaydi. Masalan, StrokeDashArray = "4 2" kontur uzunligini 4 birlikka, keyingi yozuvni esa 2 birlikka o'rnatadi. Va bu qiymatlar butun kontur bo'ylab takrorlanadi. Boshqa sozlama bilan, masalan, StrokDashArray = "1 2 3" ikkita urish allaqachon o'rnatilgan. Birinchi zarbaning uzunligi 1 birlik, ikkinchisida - 3 birlik va ularning orasidagi masofa 2 birlikdan iborat. Shunday qilib, urish sonini va ular orasidagi masofani sozlashingiz mumkin.
StrokeDashCap shakli uchlari oxiriga o'rnatadi va quyidagi qiymatlarni olishi mumkin:
Flat: tekis uchlari bo'lgan standart zarbalar
Square: to'rtburchaklar zarbalar
Round: yumaloq uchlari bo'lgan zarbalar
Triangle: uchburchak uchlari bilan urish
Dastur chizmasi
Dastur asosida shakllarni yaratish, boshqa barcha elementlarni yaratish va qo'shish bilan bir xil:
Ellipse el = new Ellipse();
el.Width = 50;
el.Height = 50;
el.VerticalAlignment = VerticalAlignment.Top;
el.Fill = Brushes.Green;
el.Stroke = Brushes.Red;
el.StrokeThickness = 3;
grid1.Children.Add(el);
Masalan, koordinata tekisligini chizamiz:
vertL.Stroke = Brushes.Black;
grid1.Children.Add(vertL);
Line horL =new Line();
horL.X1 = 10;
horL.X2 = 150;
horL.Y1 = 150;
horL.Y2 = 150;
horL.Stroke = Brushes.Black;
grid1.Children.Add(horL);
for(byte i = 2;i< 14;i++)
{
Line a =new Line();
a.X1 = i * 10;
a.X2 = i * 10;
a.Y1 = 155;
a.Y2 = 145;
a.Stroke = Brushes.Black;
grid1.Children.Add(a);
}
for(byte i = 2;i< 14;i++)
{
Line a =new Line();
a.X1 = 5;
a.X2 = 15;
a.Y1 = i * 10;
a.Y2 = i * 10;
a.Stroke = Brushes.Black;
grid1.Children.Add(a);
}
Polyline vertArr =new Polyline();
vertArr.Points = new PointCollection();
vertArr.Points.Add(new Point(5, 15));
vertArr.Points.Add(new Point(10, 10));
vertArr.Points.Add(new Point(15, 15));
vertArr.Stroke = Brushes.Black;
grid1.Children.Add(vertArr);
Polyline horArr =new Polyline();
horArr.Points = new PointCollection();
horArr.Points.Add(new Point(145, 145));
horArr.Points.Add(new Point(150, 150));
horArr.Points.Add(new Point(145, 155));
horArr.Stroke = Brushes.Black;
grid1.Children.Add(horArr);
geometriya
Raqamlar eng oddiy chizmalar, dizaynlarni yaratish uchun qulaydir, ammo ularning yordami bilan yanada murakkab va murakkabroq narsalarni qilish ancha qiyin. Shuning uchun, bu maqsadlar uchun geometrik yo'lni ko'rsatadigan Path klassi ishlatiladi. U raqamlar singari, Shape sinfidan meros bo'lib o'tgan, ammo u birlashtirilgan raqamlar to'plamini o'z ichiga olishi mumkin. Path sinfida Geometriya ob'ekti - ko'rsatiladigan geometrik ob'ektni aniqlaydigan ma'lumotlar xususiyati mavjud. Ushbu ob'ekt ko'rsatiladigan shakllarning shaklini yoki mosligini belgilaydi.
Geometry sinfi mavhum, shuning uchun olingan sinflardan biri ob'ekt sifatida ishlatiladi:
LineGeometry Line ga teng bo'lgan chiziqni anglatadi
RectangleGeometry to'rtburchaklar, Rectangle ekvivalentini bildiradi
EllipseGeometry ellipsni ifodalaydi, bu Ellips shakliga teng keladi
PathGeometry oddiy shakllardan murakkab geometrik shakl hosil qiluvchi yo'lni anglatadi
GeometryGroup bir nechta Geometry ob'ektlaridan tashkil topgan shaklni yaratadi
CombinedGeometry ikkita Geometry ob'ektidan iborat shaklni yaratadi
StreamGeometry - bu butun geometrik yo'lni xotirada saqlash uchun mo'ljallangan maxsus Geometry ob'ekti.
Masalan, LineGeometrydan foydalaning
Stroke="Blue">
StartPoint va EndPoint xususiyatlari chiziqning boshlanish va tugash nuqtalarini belgilaydi.
RectangleGeometry:
1
2
3
4
5
6
7
8
9
10
11
12
|
Fill="LightBlue">
Fill="LightPink">
|
Rect xususiyati to'rtburchaklar parametrlarini "X koordinata, Y koordinataning kengligi, balandlik" formatida o'rnatadi. RadiusX va RadiusY xususiyatlaridan ham to'rtburchaklar burchaklarining yaxlitlash radiusini belgilash uchun foydalanishingiz mumkin.
EllipseGeometry:
1
2
3
4
5
|
Fill="LightPink" Stroke="LightBlue">
|
Center xususiyati ovalning o'rtasini, RadiusX va RadiusY xususiyatlari esa radiusni o'rnatadi.
GeometryGroup bir nechta geometriyalarni birlashtiradi:
Fill="LightPink" Stroke="LightBlue">
GeometryGroup ob'ekti FillRule xususiyatini o'rnatadi. Agar u EvenOdd bo'lsa (asl qiymati), unda ikkita geometriyaning bir-biriga yopishgan yuzalari shaffof bo'ladi. FillRule = "Nolinchi" qiymati bilan (bu holatda bo'lgani kabi), geometriyaning bir-birining ustiga tushadigan joylari va qolgan qismi bo'yalgan bo'ladi.
Do'stlaringiz bilan baham: |