A Delphi grafikája Készítette: Páldi Orsolya. GDI  A Delpfiben a grafikus megjelenítést egy grafikus alprogramrendszer végzi, ez a GDI  (GDI = Graphics.

Slides:



Advertisements
Hasonló előadás
Perifériák Készítette: Friss István Dávid. A perifériák csoportosítása Bemeneti (Input) eszközök Kimeneti (Output) eszközök Be-és kimeneti (I/O) eszközök.
Advertisements

TÖMÖRÍTÉS. Fogalma A tömörítés egy olyan eljárás, amelynek segítségével egy fájlból egy kisebb fájl állítható elő. A tömörítési arány függ a fájl típusától,
A digitális kép bevezetés. A digitális kép tulajdonságai 1. Egyszerű Windows Intéző nézet És még: IrfanView (társított alkalmazás), KB („nagy”
Az IKER önértékelő IKER társadalmasítás workshop Budapest, április 12.
Informatikai rendszerek általános jellemzői 1.Hierarchikus felépítés Rendszer → alrendszer->... → egyedi komponens 2.Az elemi komponensek halmaza absztrakciófüggő.
Összeállította: Juhász Tibor – 2006 – Grafika 1. Alapfogalmak.
Word - elmélet
avagy a háromszög technika
Neumann János Informatikai Kar
Hogyan partícionáljuk meghajtónkat?
Internet tudományos használata
OvidSP és az értéknövelt szolgáltatásai
Munkalapok védelme az Excelben
Nagyméretű állományok küldése
Operációs rendszerek.
Térkép készítése adataiból
Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat
Becslés gyakorlat november 3.
A színkezelés alapjai a GIMP programban
Microsoft Office Publisher
Montázs készítése.
Adatbázisok gyakorlat
A MIMIO interaktív tábla használata
Programozás III. Gyakorlás.
PHP - függvények.
Háttértárak karbantartása
A KINOVEA mozgáselemző rendszer használata
Kockázat és megbízhatóság
A mozgóképi közlésmód sajátosságai
RÁDIÓRENDSZEREK Képi jelek Győr.
SNMPView Készítette: Varga Gábor
Tömörítés.
Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök
 : a forgásszög az x tengelytől pozitív forgásirányában felmért szög
Programozás III. Ismétlés (Grafikai lehetőségek WPF-ben)
PowerPoint 7. Évfolyam Formázások.
Animációk.
 : a forgásszög az x tengelytől pozitív forgásirányában felmért szög
Adatbázis-kezelés (PL/SQL)
KATRIN 2D DWG SZIMBÓLUMOK ÉS GDL KÖNYVTÁR
Ez a címdia 1. szövegdoboza
2. Bevezetés A programozásba
Vállalatgazdaságtan (BAI0030L; GZB2320L) 2017/18 tanév I. félév
A számítógép operációs rendszere
Közigazgatási alapvizsga a Probono rendszerben
09 – Mérhető tulajdonságok
3. A robot képernyőmenüje
Monitor(LCD).
Tilk Bence Konzulens: Dr. Horváth Gábor
RUGÓK.
Kimeneti egységek Nyomtatók.
Elektronikai Áramkörök Tervezése és Megvalósítása
Informatikai gyakorlatok 11. évfolyam
A C++ programozás Windows környezetben Képek, rajzok alkalmazása
A Microsoft SharePoint testreszabása Online webhely
Tájékoztatás a évi Országos Statisztikai Adatfelvételi Program (OSAP) teljesüléséről az Országos Statisztikai Tanács és a Nemzeti Statisztikai Koordinációs.
Perspektív térábrázolás
Webszerkesztés Webszerkesztés.
Vasbeton falvasalás megadása és ellenőrzése EC2 szerint
A számítógép operációs rendszere
Színek esztétikája Ez a szöveg nagyon zavaró és olvashatatlan
SQL jogosultság-kezelés
Áramlástan mérés beszámoló előadás
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Bevezetés Tematika Számonkérés Irodalom
A geometriai transzformációk
A POWERPOINT 2007 újdonságai
Algoritmusok.
Kód tördelése és a megjelenés
OpenBoard Kezelő Tananyag közzététele a KRÉTA rendszerben.
Előadás másolata:

A Delphi grafikája Készítette: Páldi Orsolya

GDI  A Delpfiben a grafikus megjelenítést egy grafikus alprogramrendszer végzi, ez a GDI  (GDI = Graphics Device Interface)

Grafikus ábrák készítésének módjai  Grafikus vezérlők segítségével.  Bizonyos komponensek felületére rajzolásával.  A képernyő mellett a nyomtatón is megjeleníthetünk információkat.

Tartalom 1. Alapvető grafikus eszközök Színek Rajzolási módok Alapeszközök (toll, ecset, betűtípus, képek) Alapeszközöktollecsetbetűtípusképek 2. Grafikus vezérlők használata Grafikus vezérlők használata Geometriai alakzatok megjelenítése Képek megjelenítése Képlisták Grafikonok megjelenítése 3. A Canvas használata A canvas objektum alaptulajondágai Rajzolás Canvas felhasználásával Rajzolás és újrafestés windows alkalmazásokban Nyomtatás

Alapvető grafikus eszközök

1.Színek A TColor típussal színek tárolására alkalmas változókat definiálhatunk. A leggyakrabban használt színeket konstansként is elérhetjük (például a háttérszín – clBackground, menüszín – clMenu, az ablak keretének színe - clWindowFrame). A speciális színekre a nevükkel hivatkozhatunk clBlack = TColor ($000000); clRed = TColor ($0000FF); clGreen = TColor ($008000); clBlue = TColor ($FF0000); clDkGray = TColor ($808000); clWhite = TColor ($FFFFFF); Az RGB függvényt használva saját színt keverhetünk a clSajat TColor típusú változó segítségével clSajat := RGB (10, 12, 100); A rajzeszközök (Pen, Font stb) és a vezérlők színeit a Color tulajdonsággal állíthatjuk be

Alapvető grafikus eszközök 2. Rajzolási módok  A grafikus objektumok felületére tollal (TPen) vonalakat húzhatunk.  A PenMode segítségével szabályozhatjuk hogyan fogjon a toll.  A PenMode tulajdonság megadásakor a TPenMode felsorolt típus lehetséges értékei közül választhatunk, például: fekete vonal – pmBlack, fehér vonal – pmwhite, a toll színe – pmCopy,

Alapvető grafikai eszközök 3. Alapeszközök  Toll (Pen)  Ecset (Brush)  Betűtípus (Font)  A képek

Toll  A Toll (Pen) a vonalas ábrák elkészítésének alapvető eszköze.  Jellemzői: a rajzolás módja (Mode), színe(Color), vastagsága (Width) és a húzott vonal típusa (Style).  A húzott vonal stílusa psSolid – folyamatos vonal psDash – Szaggatott vonal psDot pontokból álló vonal psClear – nincs vonal

Az ecset A grafikus elemek kifestéséhez az ecsetet (TBrush) használjuk, melynek jellemző tulajdonságai a szín (color) és a kifestés módja (Style)

A betűtípus Fontosabb tulajdonságai: - Tcolor: karakterek színét határozza meg - Heigh: a karaktereket befogadó cella magasságát - Size: a betűtípus méretét - Name: betűtípus családok neveit - TFont Style: itt adhatjuk meg hogyan jelenjenek meg a betűk: félkövér – fsBold, dőlt – fsItalic, aláhúzott – fsUnderline, áthúzott fsStrikeOut.

A képek Kétféle leírása létezik: 1. Raszteres: a pontokból álló kép színeit definiáljuk 2. Vektoros: az ábra rajzolásának lépéseit, mint pl a vonalhúzás, kifestés tároljuk A képek tulajdonságai: Height és Width: a kép méreteit határozzák meg A TPicture osztály Assign metódusa amely a paraméterében megadott kép típusától függően bitképet, icont, metafájlt másol az objektumba TGraphic osztály LoadFromFile metódusával képeket tölthetünk be. A tárolt képet a SaveToFile metódussal állományba is menthetjük.

GRAFIKUS VEZÉRLŐK HASZNÁLATA

A legfontosabb képi megjelenítő eszközök: 1. Shape (alakzat) – egyszerű geometriai ábra 2. Image (kép) – bitképek megjelenítésére alkalmas 3. ImageList – képsorozatokat tárol 4. PaintBox – megjelenít és rajzvászonként is használható 5. Chart – grafikonmegjelenítő

Geometriai alakzatok megjelenítése  A kompenspaletta Additional lapján helyezkedik el a Shape komponens  A megjelenítendő alakzat lehet : kör (stCircle), ellipszis(stEllipe), téglalap (stRectangle), lekerekített téglalap(stRoundRect), négyzet (stSquare), lekerekített négyzet (stRoundSquare)  A geometriai alakzat körvonalának milyenségét a Pen a toll, a kifestés módját pedig a Brush ecset tulajdonság határozza meg.

Képek megjelenítése  A komponespaletta System lapján található PainBox rajzvásznán csak rajzeszközökkel rajzolhatunk  A komponenspaletta Additional lapján található Image vezérlő felületére is rajzolhatunk, ugyanis ez egy rajzvászon. Azt Image vezélő Picture tulajdonsága meghatározza hogy mit látunk.  A képkeret lehet a képhez igazodó (AutoSize), a képet ki is feszíthetjük a keretre a Strech tulajdonsággal, amit true értékre kell állítani

Képlisták  A képek méretét a Height és a Width tulajdonságok, számát a Count jellemző határozza meg.  Minden képhez tartozik egy index mely alapján elérhető.

Grafikonok megjelenítése  Az Additional palettalap Chart komponense szolgál a grafikonok megjelenítésére.  A grafikon elhelyezkedését a szokásos tulajdonságok (Left, Top, Heigh és Width) adják meg.  Számos dolgot beállíthatunk a komponens Edit Chart … menüpontjának kiválasztása után. Például beállíthatjuk a megjelenítendő adatokat (Series), a tengelyeket (Axis), a feliratokat (Titles), a megjegyzéseket (Legend)

A Canvas használata

A canvas alaptulajdonságai Canvas = vászon Lehetőségei: vonalakból, körívekből és görbékből álló alakzatokat hozhatunk létre; beállíthatjuk a vonalvastagságot, színt, stílust, az alakzat kitöltéséhez használt mintát; bitképeket jeleníthetünk meg a képen, különböző módokon; szövegeket jeleníthetünk meg különböző betűtípussal

A vászon legfontosabb tulajdonságai  Brush – ecset. Beállításával változik az alakzatok kitöltésének színe és mintája. Az ecsetnek vannak további tulajdonságai is: Bitmap (az ecset mintáját definiáló bitkép), Color (szín) és Style (stílus).  Font – betű. Altulajdonságai: Color, Charset (karakterkészlet), Name (betűtípus neve), Size (méret), Style (stílus), stb.  Pen – toll. A vászon tollának típusát adja meg. Altulajdonságai: Color (szín), Style (stílus), Width (vonalvastagság), Mode (toll rajzolási módja).  PenPos – toll aktuális pozíciója. Ezt a tulajdonságot írni és olvasni is lehet.  Pixels – a pixelek színe. A tulajdonság értékét olvasni

Rajzolás a Canvas objektum felhasználásával  Képpontgrafika  Rajzolás tollakkal  Festés a rajzvásznon  Bitképek megjelenítése  Írás a rajzvászonra

Képpontgrafika Bitképes megjelenítő eszközön a kifestett objektum rajzvásznának pontjait egyenként színezhetjük, illetve a pontok színét egyenként le is kérdezhetjük, erre a Pixels tulajdonságtömböt használjuk Propety Pixels [x, y:integer]:TColor (Ahol x,y tömbindexek a képpont koordinátái, a tömbelem pedig a képpont színe.)

Rajzolás tollakkal  A vonalas ábrák készítésének alapeszköze a toll.  Az aktuális tollpozíciót a PenPos tulajdonság tárolja.  A tollat mozgathatjuk felemelt illetve letett állapotban. A toll új pozíciója az X és Y koordináták által kijelölt pont lesz: Procedure MoveTo (x, y: integer); Az aktuális tollpozíciótól kezdve az x és y koordinátákkal megadott pontig vonalat húzhatunk a Procedure LineTo (x, y:integer); metódus segítségével. Vonalláncot is tudunk rajzolni Procedure PolyLine(const Points: array of Tpoint); (A points tömbben a vonallánc tartópontjait kell átadnunk.)

Festés a rajzvásznon Téglalapok A téglalapot a Rectagle metódussal hozhatjuk létre: Procedure Rectangle(x1, y1, x2, y2:integer); (Ahol x1 és y1 a téglalap bal felső koordinátái; x2, y2 a jobb alsó sarkának koordinátái) RoundRect metódussal lekerekített téglalap rajzolható: Procedure RondRect(x1, y1, x2, y2, x3, y3:integer); ( Ahol x3 és y3 a lekerekítendő ellipszis vízszintes és függőleges tengelye, a többi pont megegyezik a téglalap koordinátáival.) Polygon metódussal kifestett poligonok rajzolhatók: Procedure Polygon (cont Points: array of Tpoint); ( Ahol a Point eg yTPoint típusú elemeket tartalmazó tömb, amely a tartópontokat tárolja. A metódus zárt poligont készít)

Festés a rajzvásznon Körívek, ellipszisek rajzolása  Ellipse metódussal teljesen kifestett ellipszisek készíthetők Procedure Ellipse(x1, y1, x2, y2:integer);  Pie metódussal ellipsziscikk, mégpedig 2 sugár által határolt ellipszisdarab rajzolható és festhető ki: Procedure Pie(x1, y1, x2, y2, x3,y3, x4, y4:integer);  Chord metódussal ellipszisszelet rajzolható ki, azaz egy egyenes és egy ellipszisív által határolt terület  Floodfill metódussal zátr alakzatot festhetünk ki Procedure Floodfill (x, y:integer,color:Tcolor,Fillstyle: TFillStyle); (Az x, y pontól kezdve addig tart a kifestés, míg el nemérjük a Color szín által definiált határt.)

Style property A vonal vastagságát adja meg. Értékei:  psSolid: folyamatos vonal.  psDash: szaggatott vonal.  psDot: pontozott vonal.  psDashDot: pontvonal.  psDashDotDot: dupla pontvonal (két pont és egy rövid szakasz ismétlődik)  psClear: nincs vonal. Ezt akkor használhatjuk, ha egy objektumnak (pl. Ellipse) nem szeretnénk körvonalat rajzolni.  psInsideFrame = psSolid, de ha szükséges, akkor az 1 pixelnél vastagabb vonalak színét képes több színből összeállítani (kisebb színfelbontás esetén).

Mode property A vonal rajzolásának módját adja meg. Például:  pmBlack: a vonal (és az objektum) színe mindig fekete lesz.  pmWhite: a vonal (és az objektum) színe mindig fehér lesz.  pmNop: nem történik rajzolás.  pmNot: invertálja a Canvas pixeleinek színét.  pmCopy: a Color property értékét használja rajzoláshoz.  pmNotCopy: invertálja a színt.  pmMerge: A Canvas színének és a Color property szín kombinációja.  pmXor: XOR művelet a Canvas háttérszíne, és a Color szín között.  pmNotXor: az előző művelet eredményének inverze.

Color property és Style property Color property: a kifestés színét adja meg Style property: mintázatát adja meg A Style property értékei a következők lehetnek: bbsSolid: nincs minta, folyamatos kitöltés a Color property-ben megadott színnel. bbsClear: nincs kitöltés. Akkor használjuk, ha például a rajz objektumnak csak a körvonalát szeretnénk megjeleníteni, vagy a felirat hátterét átlátszóvá tenni. bbsHorizontal: vízszintes csíkozás. bbsVertical: függőleges csíkozás. bbsFDiagonal: 135 fokos ferde csíkozás bbsBDiagonal: 45 fokos ferde csíkozás. bbsCross: vízszintes és függőleges csíkozás kombinációja.

Írás a rajzvászonra Textout metódussal történik Procedure TextOut (x, y:integer; const Text:string); (Ahol x, y a kiíradó szöveg befoglaló téglalapjának bal felső sarkát határozzuk meg, a Text pedig a kiírandó szöveget tartalmazza) Előfordulhat hogy a szöveget nem a bal felső saroktól szeretnénk kezdeni, ekkor használjuk a következő metódusokat: Function TextHeight (const Text: string): Integer; Function TextWidth (const Text: string): Integer ;

Bitképek megjelenítése Képeket is megjeleníthetünk. A grafikus objektumok, mint a biképek, ikonok, metafájlok mérettorzítás nélkül tudjuk megjeleníteni. Procedure Draw (x, y: integer; Graphic:TGrpic); (Ahol a Graphic definiálja a grafikus objectumot, x és y pedig a kép bal felső koordinátái.) A Strechdraw metódussal a megjelnítendő képet torzítva jeleníthetjük meg Procedure StrechDraw (cont: Rect;Graphic:TGrpic); (Ahol a Rect azt a téglalapot definiálja ahol a Grapich kép megjelenik)

Rajzolás és újrafestés Windows alkalmazásokban  Az ablakokban megjelenő grafikus objektumot gyakran eltakarja egy másik ablak, majd amikor megszűnik a takarás, újra ki kell rajzolni a képet.  Ha tehát azt szeretnénk, hogy az általunk készített rajz a takarásból előbukkanó objektumokon frissítésre kerüljön, akkor a Canvas rajzoló metódusait az OnPaint esemény kezelőjében kell elhelyeznünk.

Nyomtatás  A Delphiben, ha például a form képének aktuális nyomtatóra való küldéséhez meg kell hívnunk a Print metódust.  Ha programozni szeretnénk a nyomtatót, akkor abban a modulban ahonnan a nyomtatást végezzük használnunk kell a Printers modult: Uses Printers;  A szöveges állományok nyomtatóra küldését az AssignPrn eljárás segíti, melynek egyetlen paramétere van, mégpedig a TextFile típusú változó.  A nyomtatást az EndDoc metódussal kell befejezni, ami lezárja a feladatot és elküldi a nyomtatókezelőnek.  A nyomtatás előtt az aktuális papírméretekről kaphatunk információt a PageHeight éa a PageWidth tulajdonságok használatával.  A Copis tulajdonsággal beállíthatjuk a másolatok számát  Az Orientation tulajdonság értéke határozza meg a papír függőleges, illetve vízszintes állását.

Köszönöm a figyelmet!