Arc Funkcja rysujca łuk elipsy wpisanej w prostokt o danych wierzchołkach i danych kocach łuku

Podobne dokumenty
Zaawansowane programowanie w (pakiecie) Delphi

Szybkie tworzenie grafiki w GcIde

Obsługa grafiki w Delphi, rysowanie na płótnie, obsługa myszki, zapisywanie obrazków do plików, bitmapy pozaekranowe.

Literatura: do wykładu - dowolny podręcznik do języka C++ na laboratoriach - Borland C++ Builder

Rozdział 9. Grupowanie komponentów Pola opcji i pola wyboru Komponenty grupujące Ramka TBevel...115

Aplikacje w DELPHI (cd..)

Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD

Podstawy Processingu. Diana Domańska. Uniwersytet Śląski

Jarosław Kuchta Podstawy Programowania Obiektowego. Podstawy grafiki obiektowej

Aplikacje w DELPHI (cd..)

PROGRAMOWANIE GRAFIKI 2D W ŚRODOWISKU EMBARCADERO RAD STUDIO XE4 Z WYKORZYSTANIEM BIBLIOTEKI DirectX

Programy. Z Delphi. Opracowała Małgorzata Roguska

Kurs WWW. Paweł Rajba.

Znaczniki języka HTML

Opis i przykłady zastosowań wybranych komponentów VCL

Dialogi, Memo i Image. Modified właściwość typu Boolean. Jest automatycznie ustawiana na True kaŝdorazowo po dokonaniu zmian treści wpisanej w Memo.

Zajęcia nr 15 JavaScript wprowadzenie do JavaScript

Aplikacje w Delphi. Przykłady. Wydanie III

Moduł graph w Pascalu

Pascal - grafika. Uruchomienie trybu graficznego. Moduł graph. Domyślny tryb graficzny

W zależności od posiadanej karty, różna może być rozdzielczość i liczba kolorów. Schemat programu. zainicjowanie grafiki. operacje w trybie graficznym

GRAFIKA. Rodzaje grafiki i odpowiadające im edytory

Rysowanie punktów na powierzchni graficznej

Powtórzenie materiału: CSS3 Spis treści

Tło CSS 3. Gabriela Panuś

PyX jest pakietem Pythona do grafiki wektorowej. Pozawala zatem tworzyd pliki EPS oraz PDF.

HTML 1. Gimnazjum nr 1 w Barcinie gimbarcin.pl

Kod źródłowy programu: program Grafika1; uses crt, graph; (1) var sterownik, tryb:smallint; (2)

Obsługa mapy przy użyciu narzędzi nawigacji

Ćwiczenie 6 Proste aplikacje - podstawowe komponenty.

ZAPOZNANIE SIĘ Z PODSTAWOWYMI SPOSOBAMI

Rysowanie prostych obiektów graficznych przy użyciu biblioteki AWT (Abstract Window Toolkit)

Wykład VII PASCAL - grafika;

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

C Biblioteka G2. C.1 Koncepcja biblioteki G2.

5. Kliknij czarny trójkt umieszczony w prawym dolnym rogu ikony narzdzia Wypełnienie i - z rozsuwanej palety - wybierz pozycj Wypełnienie jednolite.

rysunek. Standardowym Przybornika Elips.

enova Systemowe Kolorowanie list

B Biblioteka GD. B.1 Koncepcja biblioteki GD.

GRAFIKA PROGRAMOWANA W PASCALU ==================================

dr inż. Jarosław Forenc

Obsługa programu Paint. mgr Katarzyna Paliwoda

Janusz Ganczarski. OpenGL Pierwszy program

Tworzenie i edycja dokumentów w aplikacji Word.

Kurs programowania 2 - listy


Grafika komputerowa. Dla DSI II

Visual Studio instalacja

Okna i liczby pseudolosowe

Rozdział 1. Wstęp 5. Rozdział 2. Pierwsze kroki 13. Rozdział 3. Podstawy rysunku wektorowego 35

WASM AppInventor Lab 3. Rysowanie i animacja po kanwie PODSTAWY PRACY Z KANWAMI

CorelDRAW. wprowadzenie

2. Korzystając z ikony Warstwy stwórz nowe warstwy według podanego schematu:

WIZUALIZACJA INFORMACJI TEKSTOWEJ WSTĘP DO HTML 5 CANVAS

mgr inż. Tomasz Jaworski Klasy graficzne GDI 1. Interfejs urządzeń graficznych (GDI) 2. Kontekst urządzenia

narzędzie Linia. 2. W polu koloru kliknij kolor, którego chcesz użyć. 3. Aby coś narysować, przeciągnij wskaźnikiem w obszarze rysowania.

Podstawy Informatyki Wykład V

Obcinanie grafiki do prostokąta

Komputerowe systemy na rynkach finansowych. wykład 5. MQL4 - funkcje operujące na obiektach wykresu

Inkscape. Narzędzia informatyki

CorelDraw - Edytor grafiki wektorowej

3.4. Opis konfiguracji layoutów.

Druga aplikacja Prymitywy, alpha blending, obracanie bitmap oraz mały zestaw przydatnych funkcji wyświetlających własnej roboty.

Podstawy programowania w języku C dla środowiska Windows

Programowanie komputerów Wykład 6: Aplety Java

Wykład A1. AutoCAD. Jarosław Bydłosz Katedra Geomatyki

Opis implementacji: Poznanie zasad tworzenia programów komputerowych za pomocą instrukcji języka programowania.

zmiana koloru tła <body bgcolor = kolor > tło obrazkowe <body background= ścieżka dostępu do obrazka >

8. Dynamiczne generowanie grafiki, cz. 2

AutoCAD LT praca na obiektach rastrowych i nakładanie barw z palety RGB na rysunki.

// Potrzebne do memset oraz memcpy, czyli kopiowania bloków

Grafika na stronie www

Grafika i komunikacja człowiek komputer Laboratorium. Część 3: Tekst, czcionki, kolory

Ćwiczenie pochodzi ze strony

Teoria światła i barwy

2 Przygotował: mgr inż. Maciej Lasota

I. Formatowanie tekstu i wygląd strony

Paweł Kaźmierczak. styczeń 2009

Dokumentacja WebMaster ver 1.0

ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM)

księga identyfikacji wizualnej

geometry a w przypadku istnienia notki na marginesie: 1 z 5

Modelowanie krawędziowe detalu typu wałek w szkicowniku EdgeCAM 2009R1

Grafika i komunikacja człowiek komputer Laboratorium. Część 2: Graphics

1. OPEN OFFICE RYSUNKI

Box model: Content. Content - obszar zawartości określany jest za pomocą deklaracji wysokości i szerokości.

Witryny i aplikacje internetowe

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 2

Ćw. I Projektowanie opakowań transportowych cz. 1 Ćwiczenia z Corel DRAW

Ćwiczenie 1 Automatyczna animacja ruchu

GRAFIKA RASTROWA GRAFIKA RASTROWA

PyGame Gra w Ponga. Spis treści

Program do konwersji obrazu na cig zero-jedynkowy

Języki programowania wysokiego poziomu. CSS Wskazówki

Zadanie 1 Zamiana kolorów maskowanie

CorelDRAW. 1. Rysunek rastrowy a wektorowy. 2. Opis okna programu

AUTOCAD teoria i zadania z podstaw rysowania Rysowanie linii, prostej, półprostej, punktu, trasy, polilinii. Zadania geodezyjne.

Wykład A1. AutoCAD Dr inż. Jarosław Bydłosz

Obsługa programu GIMP poziom podstawowy

Laboratorium Systemów SCADA

Transkrypt:

TCanvas W rodowisku C++ Builder grafika oparta jest na idei "płótna" (ang. canvas). Płótno jest obiektem klasy TCanvas i jak kady obiekt w C++ Builder ma swoje właciwoci i metody. Obiektu klasy TCanvas nie uywa si jednak samego. Canvas jest obiektem nalecym do innego obiektu i słuy jako powierzchnia do rysowania (uywa si go w takich obiektach jak np. Form, Bitmap, Image, PaintBox, Printer). Niezalenie od tego jaki obiekt posiada płótno (Canvas) krelenie grafiki zawsze odbywa si tak samo, tak wic do rysowania na dowolnym obiekcie zawsze bdzie słuył ten sam kod. Obiekty graficzne krelimy na płótnie pracujc w układzie współrzdnych kartezjaskich. W C++ Builder pocztek układu współrzdnych znajduje si w lewym górnym rogu, o Y biegnie z góry do dołu, natomiast o X od lewej do prawej krawdzi płótna. Klasa TCanvas zawiera funkcje wywietlajce prymitywy (linie, łuki okrgów, elipsy, wielokty, tekst). funkcja rysujca lini i wywietlajca tekst void fastcall TForm1::Button1Click(TObject *Sender) Canvas->Pen->Color = clblue; Canvas->MoveTo(10,10); Canvas->LineTo(100,100); Canvas->Brush->Color = clbtnface; Canvas->Font->Name = "Arial"; Canvas->TextOut( Canvas->PenPos.x, Canvas->PenPos.y,"Hello World!" ); Funkcje graficzne w C++ Builder Arc Funkcja rysujca łuk elipsy wpisanej w prostokt o danych wierzchołkach i danych kocach łuku void fastcall Arc(int X1, int Y1, int X2, int Y2, int X3, int Y3, int X4, int Y4); TRect R = GetClientRect(); // Pobiera wspolrzedne biezacego okna Canvas->Arc(R.Left, R.Top, R.Right, R.Bottom, R.Right, R.Top, R.Left, R.Top);

Ellipse Funkcja rysujca elips wpisan w prostokt o danych wierzchołkach (lewym górnym i prawym dolnym) void fastcall Ellipse(int X1, int Y1, int X2, int Y2); (X1,X2) współrzdne lewego górnego wierzchołka prostokta, (X2,Y2) współrzdne prawego dolnego wierzchołka prostokta. void fastcall Ellipse(TRect Rect); gdzie Trect jest nastpujc struktur: typedef struct int left; int top; int right; int bottom; TRect; Jeli prostokt jest kwadratem, wywietlony zostanie okrg. Canvas->Brush->Color = clred; Canvas->Brush->Style = bsdiagcross; Canvas->Ellipse(0, 0, 200, 100); FloodFill Funkcja wypełniajca ograniczony obszar biec barw enum TFillStyle fssurface, fsborder; void fastcall FloodFill(int X,int Y, TColor Color, TfillStyle FillStyle); (X,Y) - współrzdne dowolnego punktu lecego w danym obszarze fssurface kolor obszaru fsborder kolor brzegu obszaru Canvas->FloodFill(ClientWidth/2, ClientHeight/2, clblack, fsborder); LineTo Rysowanie linii od aktualnej pozycji pióra (PenPos) do podanej pozycji void fastcall LineTo(int X, int Y); Canvas->MoveTo(0, 0); Canvas->LineTo(X, Y); MoveTo Przeniesienie pióra do podanej pozycji void fastcall MoveTo(int X, int Y); void fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift, int X, int Y)

Canvas->MoveTo(0, 0); Canvas->LineTo(X, Y); Pie Rysowanie wycinka elipsy wypełnionego biecym stylem i barw void fastcall Pie(int X1, int Y1, int X2, int Y2, int X3, int Y3, int X4, int Y4); Canvas->Pie(100, 100, 400, 300, 500, 300, 80, 200); Chord Rysowanie odcinka elipsy void fastcall Chord(int X1, int Y1, int X2, int Y2, int X3, int Y3, int X4, int Y4); Canvas->Chord(100, 100, 400, 300, 500, 300, 80, 200); Polygon Rysowanie wielokta o podanych wierzchołkach void fastcall Polygon(const TPoint * Points, const int Points_Size);

TPoint points[4]; points[0] = Point(10,10); points[1] = Point(30,10); points[2] = Point(130,30); points[3] = Point(240,120); Canvas->Polygon(points, 3); gdzie Tpoint jest nastpujc struktur: typedef struct int x; int y; TPoint; Polyline Rysowanie łamanej o podanych wierzchołkach void fastcall Polyline(const Types::TPoint* Points, const int Points_Size); Tpoint points[5]; points[0].x = 40; points[0].y = 10; points[1].x = 20; points[1].y = 60; points[2].x = 70; points[2].y = 30; points[3].x = 10; points[3].y = 30; points[4].x = 60; points[4].y = 60; Canvas->Polyline(points,4); Rectangle Rysowanie prostokta (o podanych lewym górnym i prawym dolnym wierzchołku) void fastcall Rectangle(int X1, int Y1, int X2, int Y2); void fastcall Rectangle(TRect Rect); int x, y; Canvas->Rectangle(x, y, x + random(400), y + random(400)); FillRect Rysowanie wypełnionego prostokta biecym stylem i barw wypełnienia Canvas->FillRect(Rect(0,0,100,100)); RoundRect Rysowanie prostokta o zaokrglonych wierzchołkach

void fastcall RoundRect(int X1, int Y1, int X2, int Y2, int X3, int Y3); (X1,Y1) lewy górny wierzchołek prostokta (X2,Y2) prawy dolny wierzchołek prostokta X3, Y3 osie elipsy (łuki eliptyczne zaokrglaj wierzchołki prostokta) Refresh Metoda odwieajca obiekt void fastcall Refresh(void); Przykładowa procedura wywołania: Form1->Refresh(); Metoda odwiea i przywraca stan domylny formularza - wszystkie piksele otrzymuj kolor okrelony we właciwoci Color formularza Brush Ustalanie koloru i stylu wypełniania Ustalenie koloru wypełnienia: Canvas->Brush->Color = clgreen; Ustalenie stylu wypełnienia: Canvas->Brush->Style = bssolid; Predefiniowane style wypełnienia: bssolid, bsclear, bshorizontal, bsvertical, bsfdiagonal, bsbdiagonal, bscross, bsdiagcross. TextOut Wypisanie ciagu znaków na ekranie od podanego miejsca void fastcall TextOut(int X, int Y, const AnsiString Text); Canvas->TextOut(100, 100, "Witaj wiecie!"); Ustalenie koloru tekstu: Canvas->Font->Color = clred; Ustalenie rozmiaru czcionki: Canvas->Font->Size = 13; Ustalenie rodzaju czcionki:

Canvas->Font->Name = Times New Roman ; Ustalenie stylu czcionki: Canvas->Font->Style = TFontStyles()<< fsbold << fsunderline; Predefiniowane style czcionki: fsbold, fsitalic, fsunderline, fsstrikeout Pixels Wywietlanie punktu w podanym kolorze Canvas->Pixels[123][10] = clred; Pen Sprawdzenie pozycji pióra: TPoint p; p=canvas->penpos; //wypisanie pozycji piora Canvas->TextOut(200,200, IntToStr(p.x) +, + IntToStr(p.y)); Ustalenie koloru pióra (koloru rysowania): Canvas->Pen->Color = clblue; Ustalenie stylu rysowania linii: Canvas->Pen->Style = pssolid; Predefiniowane style linii: pssolid, psdash, psdot, psdashdot,psdashdotdot, psclear Ustalenie gruboci linii: Canvas->Pen->Width = 3; Kolory TColor jest typem danych zawierajcym 4-bajtowe liczby całkowite z zakresu [-0x7FFFFFFF 1... 0x7FFFFFFF] (w zapisie szesnastkowym). Najnisze 3 bajty reprezentuj nasycenie koloru trzema podstawowymi barwami w modelu RGB (red, green, blue). Liczba 0x000000FF reprezentuje intensywny kolor czerwony (red) bez domieszki pozostałych dwóch barw, podobnie liczba 0x0000FF00 reprezentuje intensywny kolor zielony (green), a liczba 0x00FF0000 intensywny kolor niebieski (blue). 0x00000000 reprezentuje kolor czarny (brak nasycenia barwami), 0x00FFFFFF oznacza kolor biały (pełne nasycenie trzema podstawowymi

barwami). Najwyszy bajt decyduje o wyborze palety kolorów jeli jest równy 0, wówczas otrzymujemy kolory z palety systemowej. Aby zmieni właciwo Color wybranego obiektu moemy tej właciwoci przypisa liczb typu TColor lub jedn z predefiniowanych stałych z modułu Graphics. Lista stałych kolorów z modułu Graphics: clnone clmoneygreen clinactivecaption clbtnshadow claqua clnavy clmenu clgraytext clblack clolive clwindow clbtntext clblue clpurple clwindowframe clinactivecaptiontext clcream clred clmenutext clbtnhighlight cldkgray clsilver clwindowtext cl3ddkshadow clfuchsia clskyblue clcaptiontext cl3dlight clgray clteal clactiveborder clinfotext clgreen clwhite clinactiveborder clinfobk cllime clyellow clappworkspace clgradientactivecaption clltgray clscrollbar clhighlight clgradientinactivecaption clmaroon clbackground clhightlighttext cldefault clmedgray clactivecaption clbtnface