předchozí lekce (1.06) | obsah kurzu | následující lekce (1.08) |
Činnost grafického okna je možné si představit jako malířské plátno definovaných rozměrů, na které se kreslí perem (anglicky pen). Větší plochy je možné vybarvit štětcem (anglicky brush). Kreslí se přitom vždy nastavenou barvou. Systém obsahuje povely pro nastavení parametrů pera i štětce. S možnostmi se seznámíte v následujícím textu.
Při kreslení obrazců do grafického okna se kreslí obrazce čárou, jejíž typ je definován povelem ImagePenStyle a tloušťka čáry je definována povelem ImagePenWidth. Plocha nakreslených geometrických obrazců je vyplněna stylem zadaným povelem ImageBrushStyle.
Nejjednodušší je změna tloušťky čáry, kdy uvádíte přímo jako parametr povelu
tloušťku čáry v bodech. Pro změnu tloušťky čáry na pět bodů použijete z příkazového okna
následující povel:
ImagePenWidth(5);
Všimněte si, že pokud nastavíte sílu čáry povelem z příkazového okna, použije se
nastavená síla čáry i pro následné kreslení pomocí myši přímo v grafickém okně.
Obdobná vlastnost je platná i pro nastavení všech parametrů grafického okna. Máte
proto možnost libovolně kombinovat zadávaní povelů z příkazového okna nebo jejich
nastavení pomocí ikon. V budoucnu budete mít samozřejmě možnost uvedené
parametry nastavit i přímo z programu.
Styl čáry máte možnost zadávat povelem ImagePenStyle. Předdefinováno je šest
stylů. Jako parametr povelu musíte přitom zadat definovaný styl čáry. Parametr můžete
uvést buď číselnou hodnotou, nebo jménem konstanty dle následující tabulky:
---------------------------------------------------------
hodnota konstanta název stylu
---------------------------------------------------------
1 psSolid souvislá čára
2 psDash přerušovaná čára
3 psDot tečkovaná čára
4 psDashDot čerchovaná čára
5 psDashDotDot čerchovaná čára se dvěma tečkami
6 psClear neviditelná čára
---------------------------------------------------------
Příklady použití definice stylu čáry (text mezi složenými závorkami nemusíte psát,
jedná se o poznámku):
ImagePenStyle(1); { souvislá plná čára }
ImagePenStyle(3); { tečkovaná čára }
ImagePenStyle(6); { neviditelná čára }
ImagePenStyle(psSolid); { souvislá plná čára }
ImagePenStyle(psDot); { tečkovaná čára }
ImagePenStyle(psClear); { neviditelná čára }
Existuje samozřejmě i způsob nastavení barvy čáry. Nejprve se však budeme muset
seznámit s možnostmi použití barev v počítači. Zobrazování barev závisí na vlastnostech
videokarty ve vašem počítači. Používáte-li barevnou VGA kartu, máte možnost zobrazit
minimálně 16 barev. Po příslušném nastavení videoadaptéru je možné běžně
zobrazovat 256 barev, výjimečně i více. Vy budete mít možnost nastavit v systému
libovolnou barvu z rozsahu 16 miliónů barev. Skutečně zobrazená barva ale závisí na
vlastnostech technického zařízení, protože se zobrazí vždy barva nejbližší.
Hodnotu barev je možné zadávat dvěma způsoby, které lze v programu libovolně kombinovat. Pokud budete používat pouze základní, šestnáctibarevnou paletu, můžete tak učinit zadáváním předdefinované konstanty udávající anglické jméno barvy. Stejnou barvu máte možnost zadat i pomocí tzv. RGB hodnoty.
Hodnota barev zadávaná definicí RGB znamená, že každá barva je definována jako
poměr kombinace barev modré, zelené a červené. Pro každou barvu je možné volit
hodnoty v rozsahu 0 až 256. Násobek těchto hodnot (modrá x zelená x červená) udává
výslednou barvu. Výhodné je používat tzv. hexadecimálního zápisu, kdy jsou pro každou
barvu vyhrazeny dvě pozice čísla s hodnotami od 00 (číslo 0) až do FF (číslo 256). Při
použití hexadecimálního čísla je nutné uvést před číslem rozlišovací znak $ a číslo musí
začínat vždy číslicí (ne písmenem). Viz tabulka hodnot barev:
-------------------------------------------
hodnota konstanta název barvy
-------------------------------------------
$000000 clBlack černá
$000080 clMaroon kaštanově červená
$0000FF clRed světle červená
$008000 clGreen tmavě zelená
$008080 clOlive tmavě žlutá
$00FF00 clLime světle zelená
$00FFFF clYellow žlutá
$800000 clNavy tmavě modrá
$800080 clPurple tmavě fialová
$808000 clTeal tmavě modrozelená
$808080 clDkGray tmavošedá
$0C0C0C0 clLtGray světle šedá
$0FF0000 clBlue modrá
$0FF00FF clFushsia fialová
$0FFFF00 clAgua modrozelená
$0FFFFFF clWhite bílá
------------------------------------------
Příklady použití definice barvy čáry (text mezi složenými závorkami nemusíte psát,
jedná se o poznámku):
ImagePenColor(clWhite); { bílá barva čáry }
ImagePenColor(clRed); { světle červená barva čáry }
ImagePenColor(clBlue); { modrá barva čáry }
ImagePenColor($0FFFFFF); { bílá barva čáry }
ImagePenColor($00000FF); { světle červená barva čáry }
ImagePenColor($0FF0000); { modrá barva čáry }
Podobně, jako je možné nastavit parametry kreslené čáry je možné nastavit parametry
vykreslovaných ploch geometrických obrazců. Barva plochy se přitom zadává povelem
ImageBrushColor. Používá se přitom výše zadaných hodnot a konstant pro definici
parametru barvy. Příklady použití definice barvy plochy (text mezi složenými
závorkami nemusíte psát, jedná se o poznámku):
ImageBrushColor(clWhite); { bílá barva plochy }
ImageBrushColor(clRed); { světle červená barva plochy}
ImageBrushColor(clBlue); { modrá barva plochy }
ImageBrushColor($0FFFFFF); { bílá barva plochy }
ImageBrushColor($00000FF); { světle červená barva plochy}
ImageBrushColor($0FF0000); { modrá barva plochy }
Pro nastavení stylu vyplňování ploch se používá povel ImageBrushStyle, kde se
jako parametr povelu udává buď číslem definovaný styl, nebo jméno konstanty dle
následující tabulky:
-----------------------------------------------------------
hodnota konstanta název stylu
-----------------------------------------------------------
1 bsSolid vyplní oblast jednou barvou
2 bsClear vyplní oblast barvou pozadí
3 bsHorizontal vyplní oblast vodorovnými čárami
4 bsVertical vyplní oblast svislými čárami
5 bsFDiagonal diagonální čáry \\\\\\\
6 bsBDiagonal diagonální čáry ///////
7 bsCros vodorovné a svislé čáry
8 bsDiagCross vodorovné a svislé čáry diagonálně
------------------------------------------------------------
Příklady použití definice stylu plochy (text mezi složenými závorkami nemusíte psát,
jedná se o poznámku):
ImageBrushStyle(1); {plné vybarvení plochy}
ImageBrushStyle(3); {výplň vodorovnými čárami}
ImageBrushStyle(8); {výplň diagonálními čárami}
ImageBrushStyle(bsSolid); {plné vybarvení plochy}
ImageBrushStyle(bsHorizontal);{výplň vodorovnými čárami}
ImageBrushStyle(bsDiagCros); {výplň diagonálními čárami}
Aby bylo možné kreslit v grafickém okně do přesně určených pozic, musí být zadány
souřadnice pro kreslení. Souřadnice určují polohu jednotlivých bodů kresby. Souřadnice
znamená, že musíte uvést vzdálenost v bodech od levého okraje grafického okna a
vzdálenost v bodech od horního okraje grafického okna. Souřadnicový systém je tedy
vztažen k levému hornímu rohu, který má souřadnici 0,0. Hodnoty ve směru osy X
narůstají směrem doprava, hodnoty ve směru osy Y narůstají směrem dolů. Při zápisu
souřadnice se uvádí nejprve osa x, potom osa y. Je přitom možné zadávat příkazy pro
kreslení mimo plochu grafického okna, zobrazí se však pouze ta část, která je obsažena
maximálními souřadnicemi grafického okna.
Aktuální souřadnice se zobrazují ve stavovém řádku systému vždy, když máte
nastavenou myš nad grafickým oknem. Souřadnice je vhodné si vyzkoušet také na
povelu PImagePoint, který slouží pro zobrazení bodu na zadané souřadnici. Povel
nakreslí na zadaných souřadnicích bod o zadané velikosti. Bod se nakreslí aktuální
barvou pera, kterou lze nastavit procedurou ImagePenColor. Vyzkoušejte si několik
příkladů pro seznámení se se způsobem označování souřadnic grafické polohy:
ImagePoint( 0, 0, 2); { levý horní roh }
ImagePoint( 0, 100, 2); { levý dolní roh }
ImagePoint(100, 0, 2); { pravý horní roh }
ImagePoint(100, 100, 2); { pravý dolní roh }
ImagePoint( 50, 50, 10); { uprostřed, větší bod }
Souřadnice grafického okna se použijí i pro kreslení geometrických tvarů pomocí
povelů. Možné je kreslit čáru povelem ImageLine, obdélník povelem ImageRectangle,
kružnici nebo elipsu povelem ImageEllipse a obdélník se zaoblenými rohy povelem
ImageRoundRect. Povelem ImageTriangle je možné nakreslit trojúhelník, což není pomocí
myši možné. Pomocí povelů je možné také kreslit povelem ImageArc část křivky a
povelem ImagePie kruhovou výseč. Vyzkoušejte si kreslení základních geometrických
tvarů:
ImageLine(20, 20, 50, 100); { nakreslí čáru }
ImageRectangle(10, 10, 100, 100); { nakreslí čtverec }
ImageEllipse(30, 30, 120, 120); { nakreslí kružnici }
ImageEllipse(30, 30, 120, 60); { nakreslí elipsu }
ImageTriangle(10,100,55,10,100,100}; { nakreslí trojúhelník }
ImageArc(0,0,100,100, 50,0,0,50); {levý horní čtvrtkruh}
ImagePie(0,0,100,100, 50,100,100,50) {pravý dolní čtvrtkruh}
předchozí lekce (1.06) | obsah kurzu | následující lekce (1.08) |