ამ კლასის შესახებ წინა სექციაშიც ვისაუბრეთ და ის შეიძლება გამოყენებულ იქნას არა მარტო Path ელემენტთან, არამედ DrawingBrush თანაც კი.
Shape
და Geometry ელემენტები
საკმაოდ ჰგვანან ერთმანეთს. მაგალითად Shape
ებში არის Line,
Ellipse და Rectangle. ხოლო Geometry
ში შეგვიძლია ვნახოთ LineGeometry,
EllipseGeometry და RectangleGeometry.
ერთის მხრივ ეს მსგავსება კარგია, მაგრამ არ უნდა იყოს დამაბნეველი,
რადგან
რაღაც დონის შემდეგ მსგავსება ძალიან დიდ განსხვავებად იქცევა. ძირითადად ფორმები
(Shapes) არის
FrameworkElement ები,
რომლიც თავის მხრივ არის UIElement
ის მემკვიდრე. ფორმები მონაწილეობენ დიზაინის სისტემაში და მათ შეუძლიათ
თავიანთი თავის დარენდერება. ხოლო Geometry
კლასს არ შეუძლია თვით დარენდერება და ასევე მათ უფრო ნაკლები თვისებები
აქვთ ვიდრე ზომების კლასს. Geometry
კლასის წინაპარია Freezable
კლასი.
Path
კლასი იყენებს Geometry
ის თავისი თავის დასახატად. ასევე Geometry ის ობიექტი შეიძლება დაენიშნოს Path კლასის Data თვისებას. მარტივი გეომეტრიული
ელემენტები, რომლის გამოყენებაც არის შესაძლებელი შეიძლება იყვნენ EllispseGeometry, LineGeometry,
RectangleGeometry, რომლებიც ენიშნებიან შესაბამისად ელიფსს, ხაზსა და ოთხკუთხედს.
რთული, ანუ რამდენიმე
გეომეტრიის შერევის საშუალებას გვაძლევს CombinedGeomery
კლასი, რომელსაც გააჩნია თვისება Geometry1 და Geometry2, რის შემდეგაც
ხდება მათი შერევა GeometryCombineMode
ის საშუალებით, რომელიც გაერთიანებაში იღებს რამდენიმე მნიშვნელობას: Union, Intersect, Xor, Exclude. პირველი თვისება ორ გეომეტრიულ ფიგურას ერთმანეთში სვავს - აერთებს.
Intersect ის
საშუალებით შესაძლებელია მხოლოდ იმ ფართობის გამოჩენა, რომელიც ჩანს ორივე გეომეტრიული
ფიგურის ფართობის გადაფარვით. Xor მოქმედებს, როგორც Intersect
იმ განსხვავებით, მაგრამ იმ განსხვავებით, რომ ნაჩვენებ ფართობში არ ჩანს
ის ნაწილი, სადაც ორივე ფიგურა ერთმანეთზე არის გადადებული. Exclude კი აჩვენებს პირველი
ფიგურის ფართობს გამოკლებული მეორე ფიგურის ფართობი, თავისი გადაფარვით. ამ ყველაფრის
სადემონსტრაციოდ შემოგთავაზებს XAML
კოდის მიხედვით რეგენერირებულ ფიგურებს.
Exclude ის გამოყენება
Intersect ის გამოყენება
Exclude ის გამოყენება
Intersect ის გამოყენება
Union ის გამოყენება
Xor ის გამოყენება
No comments:
Post a Comment