Visual C# — grafika 2D , część 2

Visual C# — grafika 2D , część 2
Razem głosów: 31 co stanowi: 85.16% całości.

Przechwytywanie

Poprzednim razem pokazałem jak w podstawowy zabrać się za podstawowe elementy grafiki 2D z wykorzystaniem GDI+ umiemy narysować linię i kilka innych prostych kształtów. tym jednak razem postaramy się zrobić coś więcej i sprawniej, i choć zapewne wyjdzie jak zwykle :) Postaram się teraz pokazać więcej …

Visual Basic posiada do rysowania kształtów formanty graficzne dokładnie 3 są ci one:)

  • LineShape   –> pozwala na kreślenie lini poziomych , pionowych i ukośnych
  • OvalShape  –> pozwala na rysowanie okręgów i elips
  • RectangleShape  –> pozwala na rysowanie prostokątów i kwadratów

Dzięki tak przyjemnym formantom  rysowanie jest banalnie proste, ale … No właśnie ale są one dostępne z poziomu Visual Basica wiec c o nam po nich w Visual C # ??

No niby racja w końcu ostatnim razem pokazałem jak wygodnie korzystać z metod graficznych zawartych w System.Drawing dzięki którym możemy rysować kształty 2D w jednym zaledwie kroku bez konieczności tworzenia obiektów graficznych , piór i pędzli.  Tak jest to wygodne ale ma też swoje wady dlatego warto poznać formanty do kreowania linii i kształtów gdyż mają one zalety które mogą się przydać , a są nimi :

  • Formanty możemy dodawać podczas projektowania GUI i widzimy jak wyglądają
  • Formanty pozwalają na używanie zdarzeń Click i OnDoubleClick
  • Formanty zużywają mniej zasobów systemowych

Jak więc widać pozwalają na więcej i nie mają ograniczeń metody bezpośredniej. Fajnie tylko że są one dostępne w Visual Basicu. No tak ale przecież żaden problem skorzystać z dobrodziejstwa tego Visual C# :)  Zanim jednak pokarzę jak , poznajmy nieco Model Obiektów  klasy Shape.

IC161717

Jak widać LineShape zawiera właściwości, metod i zdarzeń unikatowych dla wierszy. Tymczasem Pochodna klasa SimpleShape jest podstawą dla klas OvalShape i RectangleShape zawiera ponadto metody i zdarzenia wspólne dla obu klas i co lepsze SimpleShape można używać do tworzenia własnych kontrolek Shape.  Ciekawostką jest to że gdy dodamy do formularza formant Lini lub kształtu zostanie utworzony obiekt ShapeContainer, który nie jest widoczny , ale działa jako kanwa w obrębie kontenera dla każdego kształtu. Wynika też z tego ze każdy ShapeContainer ma odpowiadający mu ShapeCollection co pozwala na iteracyjne przeglądanie Formantów linii i kształtów .

Kształty można przenosić z jednego pojemnika do drugiego typowymi metodami dostępnymi w windows, a usunięcie ostatniego z danego kontenera powoduje usunięcie też odpowiadającego mu ShapContainera.


Jak więc widać ma sporo zalet takie podejście do grafiki 2D  dzięki czemu warto tą możliwość poznać i nawet z niej korzystać.

No ale przejdźmy do sedna sprawy. Narysujmy jakieś kształty :)


 

Tradycyjnie Tworzymy nowy projekt nazywamy go sobie np  LineShape TEST oczywiście w C# …  gdy już jest gotowy musi my dodać referencje do naszego projektu do Microsoft.VisualBasic.PowerPacks.VS

Przechwytywanie

Dzięki czemu będziemy mieli dostęp do wspomnianych dobrodziejstw …. oczywiście w kodzie umieszczamy linijkę :

teraz do naszego formularza dodajemy Button  i w zdarzeniu Click wstawiamy kod:

Uruchamiamy i …. po kliknięciu na Buttona widzimy naszą linię :)

Przechwytywanie

Oczywiście w analogiczny sposób postępujemy z OvalShape czy RectangleShape co widać w kodzie poniżej:

Oczywiście każdy kształt możemy sobie dostosować stosując dodatkowe ustawienia dzięki czemu możemy zmienić takie parametry jak szerokość , styl , kolor obramowania, zmianę tła kształtu na kolor jednolity , deseń czy też gradient.

Tworzenie na wiele sposobów może być bardzo przydatne , na samym etapie projektowania możemy też rysować jak wspomniałem  gdzie wystarczy z ToolboxaPrzechwytywanie wybrać interesującą nas kontrolkę  i przeciągnąć  formant na formularz lub do kontenera.

Przechwytywanie

Po czym we właściwościach mamy szereg ustawień dodatkowych jak choćby BorderStyle  czy też BorderColor w celu zmiany parametrów , ale to …. zróbcie sobie sami ….PrzechwytywanieOczywiście jedną ze wspomnianych zalet jest użycie choćby możliwości skorzystania ze zdarzenia onClink:

Przechwytywanie

 

 

 

Miłej zabawy w rysowanie …

UWAGA !!

  1. Microsoft Visual Studio 2015 Community ..  — do pobrania  TUTAJ 
  2. Microsoft Visual Basic Power Pack 12 ..     — do pobrania TUTAJ

 

 

Podziel się na:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay

3 myśli nt. „Visual C# — grafika 2D , część 2

Możliwość komentowania jest wyłączona.