Počítače a programování 2 Přednáška 6 17.3.2014 Jiří Šebesta.

Slides:



Advertisements
Podobné prezentace
Technologie pro publikování na webu 1
Advertisements

Počítačová grafika.
Vytvoření dokumentu bylo financováno ze zdrojů Evropského sociálního fondu a státního rozpočtu ČR. Název projektu: Výuka programování na střední škole.
Ukázková data grafická jsou majetkem IMIP. Popisná data jsou fiktivní.
COREL DRAW SEZNÁMENÍ Úvod, seznámení se se systémem Pracovní plocha
Panasonic Electric Works Czech s.r.o. Slide 1 Přehled PLC Software splňující normu IEC
Programová rozhraní pro grafické adaptéry
BLIŽŠÍ POHLED NA TŘÍDY, DĚDIČNOST - úvod
Úvod Formát SVG Aplikace sSVGui Ukázka aplikace Závěr.
Konstanty jsou datové objekty jejich hodnoty nelze v programu měnit Deklarace Const jméno = hodnota Příklad: Textový řetězec ZPRAVA Const ZPRAVA = “Zadej.
VY_32_INOVACE_E3-13 KRESLÍME RASTROVOU GRAFIKOU I. AUTOR: Mgr. Vladimír Bartoš VYTVOŘENO: ZÁŘÍ 2011 STRUČNÁ ANOTACE: VÝKLAD LÁTKY K TÉMATU KRESBY RASTOVOU.
GIMP - úvod. GIMP je aplikace pro vytváření a úpravu rastrové grafiky, zejména fotografií a webové grafiky vznikl v linuxovém prostředí, ale existuje.
GIMP - úvod. GIMP je aplikace pro vytváření a úpravu rastrové grafiky, zejména fotografií a webové grafiky vznikl v linuxovém prostředí, ale existuje.
SOKOBAN Ondra Mandík, I4a SPŠE Ječná. POPIS Hra bude obsahovat jednoho hráče, bedny, zdi a cílová místa pro bedny. Hráč nesmí procházet zdí. Hráč před.
Autor:Jiří Gregor Předmět/vzdělávací oblast: Informační a komunikační technologie Tematická oblast:Práce se standardním aplikačním programovým vybavením.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
OSNOVA: a) Řetězce v C b) Funkce stdio.h pro řetězce c) Funkce string.h pro řetězce d) Příklad Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače.
Deklarace Radim Štefan. 2 Použité zkratky BP – Borland Pascal De – Delphi.
Ing. Josef Veselý Označení šablony a vzdělávací sady viz.rozpis.
Podmíněné vykonávání a rozvětvení. Co je to? Podmíněné vykonávání = nechceme provést všechny příkazy, chceme určité části kódu něčím podmínit Rozvětvení.
Seminář C cvičení STL, Trolltech Ing. Jan Mikulka.
Ing. Josef Veselý Označení šablony a vzdělávací sady viz.rozpis.
Operační systémy.
MATLAB LEKCE 6.
C# - Grafika Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
ActionScript Moderní počítačové aplikace. Charakteristika Je odvozen od JavaScriptu Integruje do Flashe interaktivní ovládání Umožňuje vytvořit přehledné.
C# - prvky UI – vlastnosti a události Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Windows Presentation Foundation 2D grafika. 2D tvary Elementy UI stromu Stejné jako jiné ovládací prvky a elementy Mohou mít k sobě připojeny události,
Kreslíme rastrovou grafikou I. v programu MALOVÁNÍ
Čísla Desetinná čísla. čísla desetinná se v PC ukládají jiným způsobem než čísla celá – výpočty s nimi provádí dvě odlišné části procesoru při výpočtech.
OSNOVA: a)Programování se soubory b)Záloha databáze v souboru c) Příklady Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače a programování.
Grafické objekty a metody
PictureBox u vkládání obrázků u vlastnost Picture pomocí příkazu LoadPicture u přiřazení obrázku mezi dvěma prvky PictureBox Auto.Picture = AutoCerv.Picture.
Konstanty u jsou datové objekty u jejich hodnoty nelze v programu měnit u Deklarace Const jméno = hodnota Příklad: Textový řetězec ZPRAVA Const ZPRAVA.
OSNOVA: a) Úvod do OOPb) Třídy bez metod c) Třídy s metodamid) Konstruktory a destruktory e) Metody constf) Knihovní třídy g) Třídy ve tříděh) Přetížení.
C# - předávání parametrů Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
Tvorba www stránek Seznam, tabulky, grafika a barvy (1.část) Ing. Miroslav Vachůn, Ph.D.
OSNOVA: a) Přetížení členských funkcí b) Dědičnost tříd Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače a programování 2 pro obor EST BPC2E.
OSNOVA: a) Příkazy pro větvení b) Příkazy pro cykly c) Příkazy pro řízení přenosu d) Příklad Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače.
2 UDÁLOSTI ONMOUSEOVER, ONMOUSEOUT Odkaz Událost je část kódu vyvolana za určité (uživatelem vyvolané) situace (kliknutí myší, přejetím kurzorem myši,
OSNOVA: a)Funkce – úvod b) Hlavičky funkcí c) Rekurze funkcí d)Knihovny funkcí e)Příklady Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače.
POWER POINT 1 Základní pojmy Power Point - základní pojmy.
VISUAL BASIC PRALG.
Programování Windows 8 Jiří Danihelka PDA Katedra počítačové grafiky a interakce ČVUT v Praze.
OPERAČNÍ SYSTÉMY.
14. června 2004Michal Ševčenko Architektura softwarového systému DYNAST Michal Ševčenko VIC ČVUT.
Počítače a programování 2 pro obor EST KPC2E TUTORIÁL 3
Grafika ve Windows Přednáška č. 12. Informace k 13. přednášce  Bude koncipována formou konzultací k projektům – kancelář PA-336 (Purkyňova 118)
Počítače a programování 2 pro obor EST BPC2E PŘEDNÁŠKA 11
31/07/20151 Uživatelské rozhraní (13) Pro standardní akce používat standardní dia- logová okna: –otevření souboru – OpenFileDialog –uložení souboru – SaveFileDialog.
Uživatelská rozhraní Cvičení 12a Martin Němec A
Uživatelská rozhraní Uživatelská rozhraní 10. cvičení Martin Němec A
Operační systémy Grafický subsystém © Milan Keršláger Obsah:
Název školy Střední škola elektrostavební a dřevozpracující, Frýdek-Místek, příspěvková organizace Adresa školy Pionýrů 2069, Frýdek-Místek IČ
Výukový materiál zpracován v rámci projektu
Výukový materiál zpracován v rámci projektu
Výukový materiál zpracován v rámci projektu
Výukový materiál zpracován v rámci projektu
VY_32_INOVACE_PR2_16 Grafika.
Výukový materiál zpracován v rámci projektu
Výukový materiál zpracován v rámci projektu
Práce s grafikou (1) Windows Forms při práci s grafikou využí-vají GDI+ (Graphics Device Interface+) GDI+ je následník rozhraní GDI, které je zod-povědné.
Návrhový vzor Flyweight
TNPW1 JavaScript Ing. Jiří Štěpánek.
Výukový materiál zpracován v rámci projektu
Výukový materiál zpracován v rámci projektu
C# přehled vlastností.
DirectX Jan Kotrouš PGC3.
SVG vektorová grafika Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jitka Vlčková. Dostupné z Metodického portálu ISSN.
Transkript prezentace:

Počítače a programování 2 Přednáška Jiří Šebesta

TÉMA – grafika ve Visual C++ 1.GDI, OpenGL, DirectX 2.Událost Paint 3.GDI - příklady

GDI, DirectX, OpenGL (1/2) GDI (Graphics Device Interface): – 2D grafický ovladač – standardní součást Widows sloužící k reprezentaci grafických objektů a jejich transformací do výstupních zařízení (obrazovka, tiskárna) – zajišťuje kreslení čar, křivek a dalších grafických objektů, renderování fontů, správu barevných palet atd. – nezajišťuje přímo vykreslování vlastních Windows objektů (okna, dialogy, menu, atd.), GDI je k těmto úkolům využívána uživatelským subsystémem (v knihovně user32.dll ) – všechny dále uvedené příklady jsou řešené pomocí GDI

GDI, DirectX, OpenGL (2/2) DirectX (Graphics Device Interface): - sada knihoven od Microsoftu pro funkce aplikačních rozhraní API pro Windows, mezi které jsou zařazeny i knihovny pro grafické výstupy DirectDraw (vykreslování 2D grafiky do okna, není jednoduché jako u GDI, avšak rychlejší) a Direct3D (výkonný 3D engine) OpenGL (Open Graphics Library): - otevřený API standard pro tvorbu aplikací počítačové grafiky ve 3D, zdarma použivatelný. Hlavní výhodou je velký počet tutoriálů a návodů pro grafické výstupy.

GDI - událost Paint (1/3) private: System::Void Form1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) { Graphics ^ g = e->Graphics; } vložení události Paint do formuláře aplikace aktivace grafického objektu se jménem e hlavička události Paint Většina ovládacích prvků (objektů) včetně vlastního formuláře nabízí aplikaci události Paint, která umožňuje grafický výstup v rámci plochy daného objektu.

GDI - událost Paint (2/3) private: System::Void Form1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) { Graphics ^ g = e->Graphics; Pen^ MyPen = gcnew Pen(Color::Blue,3.0f); Point point_A = Point(100,100); Point point_B = Point(300,300); e->Graphics->DrawLine(MyPen, point_A, point_B); e->Graphics->DrawLine(gcnew Pen(Color::Red,3.0f), 100, 300, 300, 100); } nový objekt pera se jménem MyPen Modrá a červená čára ve formulářovém okně barva tloušťka bod se jménem point_A souřadnice x souřadnice y vykreslení čáry z point_A do point_B perem MyPen alternativní vykreslení čáry s přímou definicí pero X A Y A X B Y B

GDI - událost Paint (3/3) Událost Paint se volá při vykreslování okna A=[100, 100] B=[300, 300] Projekt: Ex108

GDI - příklady (1/11) Kreslení do objektu PictureBox ve smyčce Událost Paint v PictureBoxu se jménem PictureBox

GDI - příklady (2/11) private: System::Void PictureBox_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) { Graphics ^ g = e->Graphics; Pen^ BluePen = gcnew Pen(Color::Blue,2.0f); Pen^ RedPen = gcnew Pen(Color::Red,2.0f); Pen^ MyPen; Point point_A = Point(200,200); Point point_B; int angle=0; // starting angle for radial lines int anstep=5;// step of angle int anstop=360; // ending angle for rad. lines int width=200; // initial width of rectangle int wstep=10; // step of rectangle width int wstop=400; // ending width of rectangle MyPen=RedPen;// initial pen is red

GDI - příklady (3/11) while (angle<=anstop) //radial lines { point_B =Point((int)( *cos(angle*PI/180.0)), (int)( *sin(angle*PI/180.0))); e->Graphics->DrawLine(BluePen, point_A, point_B); angle+=anstep; } while (width<=wstop) //rectangles { e->Graphics->DrawRectangle(MyPen, 200-width/2, 200-width/2, width, width); width+=wstep; if (MyPen==RedPen) //color change MyPen=BluePen; else MyPen=RedPen; }} Projekt: Ex109

GDI - příklady (4/11) Volání obnovení (překreslení) Refresh() + dialog ColorDialog Při změně hodnoty v NUD se změní globální proměnná a udávající úhel koláče ve stup- ních a volá se refresh (překre- slení) PictureBoxu, ve kte- rém je koláč vykreslován. Při stisku tlačítka Btn_Color je vyvolán ColorDialog, na- stavená barva se vloží do pro- měnné MyBrush, která definuje barvu koláče a následně se zavolá refresh (překreslení) koláče.

GDI - příklady (5/11) #pragma once int angle=20; // global variable – angle of pie namespace Ex110{ public ref class Form1 : public System::Windows::Forms::Form { ……… private: System::Windows::Forms::Button^ Btn_Color; private: SolidBrush^ MyBrush; // private variable of Form1 – MyBrush ……… #pragma endregion private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { //MyBrush inicialization during Form1 loading - blue MyBrush = gcnew SolidBrush(Color::Blue); }

GDI - příklady (6/11) private: System::Void PB_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) { Graphics ^ g = e->Graphics; e->Graphics->Clear(System::Drawing::Color::White); e->Graphics->FillPie(MyBrush,100,100,200,200,0,-a); } private: System::Void NUD_ValueChanged(System::Object^ sender, System::EventArgs^ e) { a = System::Convert::ToInt32(this->NUD->Value); this->PB->Refresh(); } mazání grafiky v objektu, plátno bílé vykreslení koláče překre- slení koláče obdélník koláče poč. úhel úhlová délka koláče

GDI - příklady (7/11) private: System::Void Btn_Color_Click(System::Object^ sender, System::EventArgs^ e) { this->CDialog->ShowDialog(); MyBrush->Color = this->CDialog->Color; this->PB->Refresh(); } otevření dialogu barvy přiřazení barvy štětci pro kreslení koláče překreslení koláče Projekt: Ex110

GDI - příklady (8/11) e->Graphics->DrawArc(MyPen,180,10,100,100,-135,180); Výběr kreslených objektů: Drawxxx() Příklad: DrawArc()

GDI - příklady (9/11) System::Drawing::Font^ MyTextFont = gcnew System::Drawing::Font("Arial",16); SolidBrush^ MyTextBrush = gcnew SolidBrush(Color::Black); String^ DrawRect_string = "DrawRectangle"; e->Graphics->DrawString(DrawRect_string, MyTextFont, MyTextBrush, 10, 130); e->Graphics->DrawString("DrawArc", MyTextFont, MyTextBrush, 190, 130); Text jako grafický objekt: DrawString() nový font nový štětec pro text string přes proměnnou počáteční poloha textu string přímo jako parametr

GDI - příklady (10/11) array ^ PolyPoints = {Point(670,10), Point(690,50), Point(750,50), Point(670,100), Point(590,50), Point(640,50)}; Pole bodů pro DrawPolygon(), DrawCurve() atd. e->Graphics->DrawPolygon(MyPen, PolyPoints);

GDI - příklady (11/11) e->Graphics->FillPolygon(MyBrush, PolyPoints); Výběr kreslených objektů: Fillxxx() Příklad: FillPolygon() Projekt: Ex111

DĚKUJI ZA POZORNOST TÉMA NÁSLEDUJÍCÍ PŘEDNÁŠKY Úvod do Matlabu