VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu CZ.1.07/1.5.00/34.1076 Název projektu Pro vzdělanější Šluknovsko Číslo a název šablony 32 Inovace a zkvalitnění výuky prostřednictvím ICT Autor 0207 Mgr. Bc. Jan Škoda Tematická oblast Programování Číslo a název materiálu VY_32_INOVACE_0207_0312 Visual C# - grafika Anotace Žák si upevní učivo o požívání grafiky v programovacím jazyce Visual C# Vytvořeno 25. 7. 2013 Určeno pro 3. ročník oboru Informační technologie Přílohy Bez příloh
Metodický list Učitel: Výklad s projekcí elektronického učebního materiálu. Ukázka obecného postupu činností. Monitorování činnosti žáků. Žák: Sleduje výkladovou projekci a demonstraci učitele. Procvičuje.
Visual C# Grafika
Grafika Windows Forms při práci s grafikou využívají GDI+ (Graphics Device Interface+). GDI+ je následník rozhraní GDI, které je zodpovědné za reprezentaci grafických objektů a jejich zasílání na výstupní zařízení (monitor, tiskárna apod.). GDI realizuje operace jako jsou např.: kreslení úseček a křivek. zobrazování fontů. správa palet barev.
Třída Graphics Definována ve jmenném prostoru System.Drawing. Poskytuje abstraktní povrch, na kterém je možné vykreslovat grafické informace. Třída Graphics je definována s modifikátorem sealed, proto není možné definovat její potomky. Pro zpřístupnění vlastností a metod třídy Graphics je zapotřebí získat její objekt. Konstruktor třídy Graphics není veřejný a tudíž jej nelze pro vytvoření objektu využít. Objekt třídy Graphics lze získat prostřednictvím parametru, který je předáván obslužné metodě události Paint.
Třída Graphics Metoda Clear Dispose DrawArc DrawEllipse, FillEllipse DrawImage DrawLine DrawLines Popis Provede vymazání vykreslovacího povrchu specifiko-vanou barvou Uvolní zdroje používané objektem třídy Graphics Vykreslí eliptický (kruhový) oblouk Vykreslí elipsu (kružnici) nebo vyplněnou elipsu (kružnici) Vykreslí obrázek (.jpg) Vykreslí úsečku spojující dva body Vykreslí sérii na sebe navazujících úseček Zdroj: Graphics třída. Microsoft Developer Network [online]. 2013 [cit. 2013-07-23]. Dostupné z: http://msdn.microsoft.com/cscz/library/system.drawing.graphics.aspx.
Třída Graphics Metoda DrawPolygon, FillPolygon DrawRectangle, FillRectangle DrawString RotateTransform ScaleTransform TranslateTransform Popis Vykreslí mnohoúhelník nebo vyplněný mnohoúhelník Vykreslí obdélník (čtverec) nebo vyplněný obdélník (čtverec) Zobrazí text specifikovaný řetězcem Transformace otočení Transformace změna měřítka Transformace posunu počátku souřadnic Zdroj: Graphics třída. Microsoft Developer Network [online]. 2013 [cit. 2013-07-23]. Dostupné z: http://msdn.microsoft.com/cscz/library/system.drawing.graphics.aspx.
Třída Graphics Při vykreslování jsou využívány instance: třídy Pen kreslící pero potomků třídy Brush štětec třídy Font písmo Nově vytvořené instance tříd Pen, Font a po-tomků třídy Brush by měly být uvolňovány pomocí metody Dispose.
Třída Pen Definuje objekt, který slouží pro vykreslování úseček, křivek a obvodů útvarů. Vlastnost Color DashStyle Width Popis Specifikuje barvu kreslícího pera Udává styl kreslícího pera Specifikuje šířku kreslícího pera Zdroj: Pen třída. Microsoft Developer Network [online]. 2013 [cit. 2013-07-23]. Dostupné z: http://msdn.microsoft.com/cscz/library/system.drawing.pen.aspx.
Třída Pen Vytvoření objektu pera: System.Drawing.Pen mypen; mypen = new System.Drawing.Pen(System.Drawing.Color.Black);
Třída Pen Příklad demonstruje vykreslení čáry na formulář: System.Drawing.Pen mypen; mypen = new System.Drawing.Pen(System.Drawing.Color.Red); System.Drawing.Graphics formgraphics = this.creategraphics(); formgraphics.drawline(mypen, 0, 0, 200, 200); mypen.dispose(); formgraphics.dispose();
Třída Brush Abstraktní třída definující různé druhy štětců, které se používají pro vyplňování uzavřených útvarů. Potomci třídy Brush: SolidBrush jednobarevný štětec. TextureBrush textura. HatchBrush šrafovaný štětec.
Implementované grafické objekty Circle kružnice Ellipse elipsa Rectangle obdélník Arc oblouk Zdroj: Autor
Vykreslení elipsy na formulář System.Drawing.SolidBrush mybrush = new System.Drawing.SolidBrush(System.Drawing.Color.Red); System.Drawing.Graphics formgraphics = this.creategraphics(); formgraphics.fillellipse(mybrush, new Rectangle(0,0,200,300)); mybrush.dispose(); formgraphics.dispose();
Vypsání textu na form ve vertikální poloze private void DrawVerticalText() { System.Drawing.Graphics formgraphics = this.creategraphics(); string drawstring = "Sample Text"; System.Drawing.Font drawfont = new System.Drawing.Font("Arial", 16); System.Drawing.SolidBrush drawbrush = new System.Drawing.SolidBrush(System.Drawing.Color.Black); float x = 150.0f; float y = 50.0f; System.Drawing.StringFormat drawformat = new System.Drawing.StringFormat(StringFormatFlags.DirectionVertical); formgraphics.drawstring(drawstring, drawfont, drawbrush, x, y, drawformat); drawfont.dispose(); drawbrush.dispose(); formgraphics.dispose(); }
Zdroje BĚHÁLEK, Marek. Programovací jazyk C# [online]. 2007, 134 s. [cit. 2013-07-23]. Dostupné z: http://www.cs.vsb.cz/behalek/vyuka/pcsharp/text.pdf. Graphics třída. Microsoft Developer Network [online]. 2013 [cit. 2013-07-23]. Dostupné z: http://msdn.microsoft.com/cs-cz/library/system.drawing.graphics.aspx. Pen třída. Microsoft Developer Network [online]. 2013 [cit. 2013-07-23]. Dostupné z: http://msdn.microsoft.com/cs-cz/library/system.drawing.pen.aspx. PEŇAŠKA, Jaroslav. Malý úvod do programování v.net C# [online]. 2006, 64 s. Dostupné z: http://physics.ujep.cz/~jkrejci/vyuka/prg2/malyuvoddocsharp.pdf. Projekty SIPVZ Gymnázia Olomouc-Hejčín 2005/2006. KOVÁŘ, Dušan. Programování se zaměřením na.net a jazyk C#: Programovací jazyk C# [online]. 2006 [cit. 2013-07-23]. Dostupné z: http://projektysipvz.gytool.cz/ ProjektySIPVZ/Default.aspx?uid=3. PUŠ, Petr. Poznáváme C# a Microsoft.NET. In: O počítačích, IT a internetu - Živě.cz [online]. 2004 [cit. 2013-07-23]. Dostupné z: http://possitive.wz.cz/ files/poznavame_csharp.pdf. ŠÍMA, František a David VILÍMEK. Microsoft Visual Studio.NET: praktické programování krok za krokem. 1. vyd. Praha: Grada, 2006, 254 s. Průvodce (Grada). ISBN 80-247-1418-3. VIRIUS, Miroslav. C# pro zelenáče. Praha: Neocortex, 2002, 255 s. ISBN 80-863-3011-7. VIRIUS, Miroslav. Programování pro.net. Praha: ČVUT, 2011, 260 s. ISBN 978-80-01-04866- 4.