VÝUKOVÝ MATERIÁL Identifikační údaje školy
Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vytvořeno Určeno pro Přílohy
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 CZ.1.07/1.5.00/34.1076 Pro vzdělanější Šluknovsko 32 – Inovace a zkvalitnění výuky prostřednictvím ICT 0207 Mgr. Bc. Jan Škoda Programování VY_32_INOVACE_0207_0312 Visual C# - grafika Žák si upevní učivo o požívání grafiky v programovacím jazyce Visual C# 25. 7. 2013 3. ročník oboru Informační technologie 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
Popis
Clear
Provede vymazání vykreslovacího povrchu specifiko-vanou barvou
Dispose
Uvolní zdroje používané objektem třídy Graphics
DrawArc
Vykreslí eliptický (kruhový) oblouk
DrawEllipse, FillEllipse
Vykreslí elipsu (kružnici) nebo vyplněnou elipsu (kružnici)
DrawImage
Vykreslí obrázek (.jpg)
DrawLine
Vykreslí úsečku spojující dva body
DrawLines
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
Popis
DrawPolygon, FillPolygon
Vykreslí mnohoúhelník nebo vyplněný mnohoúhelník
DrawRectangle, FillRectangle
Vykreslí obdélník (čtverec) nebo vyplněný obdélník (čtverec)
DrawString
Zobrazí text specifikovaný řetězcem
RotateTransform
Transformace otočení
ScaleTransform
Transformace změna měřítka
TranslateTransform
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
Popis
Color
Specifikuje barvu kreslícího pera
DashStyle
Udává styl kreslícího pera
Width
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-048664.