Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Grafické objekty a metody Úvod. Základní objekty V paletě objektů najdete dvojici objektů ke kreslení: V paletě objektů najdete dvojici objektů ke kreslení:

Podobné prezentace


Prezentace na téma: "Grafické objekty a metody Úvod. Základní objekty V paletě objektů najdete dvojici objektů ke kreslení: V paletě objektů najdete dvojici objektů ke kreslení:"— Transkript prezentace:

1 Grafické objekty a metody Úvod

2 Základní objekty V paletě objektů najdete dvojici objektů ke kreslení: V paletě objektů najdete dvojici objektů ke kreslení: Shape (tvar)Shape (tvar) Line (čára)Line (čára) Dále je k disposici pár objektů k vložení obrázku: Dále je k disposici pár objektů k vložení obrázku: PictureBoxPictureBox ImageImage

3 Shape Objekt Shape má základní tvary: Objekt Shape má základní tvary: 0 – čtyřúhelník0 – čtyřúhelník 1 – čtverec1 – čtverec 2 – ovál2 – ovál 3 – kruh3 – kruh 4 – čtyřúhelník se zaoblenými rohy4 – čtyřúhelník se zaoblenými rohy 5 - čtverec se zaoblenými rohy5 - čtverec se zaoblenými rohy Dále lze volit barvy a tvar výplně a obrysové čáry Dále lze volit barvy a tvar výplně a obrysové čáry

4 Line Objekt Line nakreslí čáru s určenou barvou, tloušťkou a tvarem Objekt Line nakreslí čáru s určenou barvou, tloušťkou a tvarem Může být plná, přerušovaná a podobně Může být plná, přerušovaná a podobně Jako s ostatními objekty se s ní může pohybovat – měnit její délku, tloušťku a umístnění Jako s ostatními objekty se s ní může pohybovat – měnit její délku, tloušťku a umístnění

5 Základní metody Pro kreslení na formulář nebo obrázkový box (PictureBox) můžeme použít i určité metody: Pro kreslení na formulář nebo obrázkový box (PictureBox) můžeme použít i určité metody: Circle – nakreslí kruh, resp. elipsuCircle – nakreslí kruh, resp. elipsu Line – umožní nakreslit čáru, resp. čtyřúhelníkLine – umožní nakreslit čáru, resp. čtyřúhelník

6 Metoda Circle Základní syntax Základní syntax (x,y) – souřadnice středu(x,y) – souřadnice středu Radius – poloměr kružniceRadius – poloměr kružnice Color – barva kružniceColor – barva kružnice Start, end – počátek a konec oblouku (vyjádřen v radiánech)Start, end – počátek a konec oblouku (vyjádřen v radiánech) Aspect – poměr poloos elipsy (aspect 1.0 odpovídá přesné kružnici)Aspect – poměr poloos elipsy (aspect 1.0 odpovídá přesné kružnici) object.Circle Step (x, y), radius, color, start, end, aspect

7 Metoda Line Základní syntax: Základní syntax: Step – nepovinné – určuje, že souřadnice jsou relativní k poslední posici uložené v CurrentX a CurrentYStep – nepovinné – určuje, že souřadnice jsou relativní k poslední posici uložené v CurrentX a CurrentY (x2, y2) – určí souřadnice konce čáry Color – barva čáry B – určí, že bude vykreslen čtyřúhelník F – jestliže je použit parametr B, pak užití parametru F způsobí vyplnění obrazce object.Line Step (x1, y1) - Step (x2, y2), color, BF

8 Jednoduchý příklad Na příkladu si předvedeme možnosti prvku Shape Na formulář umístníme Shape, tlačítko a časovač

9 Vlastnosti prvku Shape Prvek Shape1 má určité vlastnosti, které budeme měnit: Prvek Shape1 má určité vlastnosti, které budeme měnit: Shape – tvar (rozsah 0 – 5)Shape – tvar (rozsah 0 – 5) FillStyle – druh výplně (rozsah 0 – 7)FillStyle – druh výplně (rozsah 0 – 7) BackColor – barva pozadí prvkuBackColor – barva pozadí prvku FillColor – barva výplněFillColor – barva výplně

10 Měnění vlastností Měnění vlastností provádíme např. kombinací cyklu a náhodné volby Měnění vlastností provádíme např. kombinací cyklu a náhodné volby Sub Zmena() a = a + 1 b = b + 1 If a > 5 Then a = 0 If b > 7 Then b = 0 Shape1.Shape = a Shape1.FillStyle = b Shape1.BackColor = QBColor(Int(Rnd * 15)) Shape1.FillColor = QBColor(Int(Rnd * 15)) Shape1.Refresh End Sub

11 Počáteční nastavení Definujeme potřebné veřejné proměnné Definujeme potřebné veřejné proměnné Při natažení formuláře je nastavíme Při natažení formuláře je nastavíme Dim a As Integer, b As Integer Private Sub Form_Load() Randomize a = 6 * Rnd - 1 b = 8 * Rnd - 1 Zmena End Sub

12 A jak to běhá? Stisknutím tlačítka spustíme časovač Stisknutím tlačítka spustíme časovač Ten každou minutu zavolá proceduru Změna Ten každou minutu zavolá proceduru Změna Zbytek už si domyslíte Zbytek už si domyslíte

13 Ukázka použití Úkolem je vytvořit analogové hodiny, které ukazují hodiny, minuty a vteřiny Úkolem je vytvořit analogové hodiny, které ukazují hodiny, minuty a vteřiny Ručičky mají skokový chod po jednotkách času odpovídající úrovně Ručičky mají skokový chod po jednotkách času odpovídající úrovně

14 Základní formulář Základní formulář obsahuje pouze několik základních prvků: Základní formulář obsahuje pouze několik základních prvků: Časovač Timer1 Čáry Line1 (vteřiny), Line2 (minuty), Line3 (hodiny) Tlačítko Command1

15 Globální proměnné Nejprve deklarujeme proměnné Nejprve deklarujeme proměnné Dim AX, AY, Rad As Integer 'souřadnice středu, poloměr Dim h, m, s As Integer 'hodiny,minuty,sekundy Dim hRad, mRad, sRad As Integer 'délky ručiček

16 Nastavení počátečního stavu Sub Form_Load() AX = ScaleWidth / 2 'nastavení souřadnic AY = ScaleHeight / 2 'středu hodin Rad = (ScaleWidth / 2) * 0.95 'poloměr kruhu hRad = (ScaleWidth / 2) * 0.71 'délka mRad = (ScaleWidth / 2) * 0.85 'jednotlivých sRad = (ScaleWidth / 2) * 0.92 'ručiček h = 0 'počáteční čas m = 0 s = 0 Line1.X1 = AX 'ručičky začínají ve středu Line1.Y1 = AY Line2.X1 = AX Line2.Y1 = AY Line3.X1 = AX Line3.Y1 = AY End Sub

17 Časovač 1 Vše řídí procedura časovače, která je volána podle úvodního nastavení vždy po 1/10 vteřiny (interval=100) Vše řídí procedura časovače, která je volána podle úvodního nastavení vždy po 1/10 vteřiny (interval=100) Nejprve se opakovaně překreslí kruh, který uzavírá celé hodiny Nejprve se opakovaně překreslí kruh, který uzavírá celé hodiny Pak se počítá poloha jednotlivých ručiček Pak se počítá poloha jednotlivých ručiček Circle (AX, AY), Rad, RGB(255, 0, 0)

18 Časovač 2 Propočet polohy hodinové ručičky: Propočet polohy hodinové ručičky: Po přepočtu na stupně vypočítáme souřadnice konce ručičky – aplikace definice trigonometrických funkcí sin a cos Po přepočtu na stupně vypočítáme souřadnice konce ručičky – aplikace definice trigonometrických funkcí sin a cos If h <> Hour(Time) Then 'změnila se hodina? h = Hour(Time) 'načteme nový údaj h1 = h * 30 'přepočteme na úhel ve stupních Line3.X2 = AX + hRad * Sin(h1 * / 180) Line3.Y2 = AY - hRad * Cos(h1 * / 180) End If

19 Časovač 3 Obdobně pro minuty Obdobně pro minuty A pro vteřiny A pro vteřiny If m <> Minute(Time) Then 'změnila se minuta? m = Minute(Time) m1 = m * 6 Line2.X2 = AX + mRad * Sin(m1 * / 180) Line2.Y2 = AY - mRad * Cos(m1 * / 180) End If If s <> Second(Time) Then 'změnila se vteřina? s = Second(Time) s1 = s * 6 Line1.X2 = AX + sRad * Sin(s1 * / 180) Line1.Y2 = AY - sRad * Cos(s1 * / 180) End If

20 Nakonec K tlačítku Konec doplníme … ale to už doufám víte sami


Stáhnout ppt "Grafické objekty a metody Úvod. Základní objekty V paletě objektů najdete dvojici objektů ke kreslení: V paletě objektů najdete dvojici objektů ke kreslení:"

Podobné prezentace


Reklamy Google