A grafika programozás módozatai A képernyő koordinátarendszere A graphics.h header-fájl fontosabb függvényei Mintaprogram



Hasonló dokumentumok
TANMENET. Informatika 9. C osztály (számítástecnikai orientáció) elmélet

22. évfolyam 2. szám. Fizika InfoRmatika Kémia Alapok. Kiadó. Levélcím Cluj, C. P. 1/140

SZÁMÍTÓGÉPI GRAFIKA MARKEREK

Új prezentáció létrehozása az alapértelmezés szerinti sablon alapján.

Bevezetés a programozásba II 1. gyakorlat. A grafikus könyvtár használata, alakzatok rajzolása

9. óra operációs rendszerek. Grafikus operációs rendszer

MATLAB alapismeretek IV. Eredmények grafikus megjelenítése: vonalgrafikonok

Képszerkesztés. Letölthető mintafeladatok gyakorláshoz: Minta teszt 1 Minta teszt 2. A modul célja

CAD-ART Kft Budapest, Fehérvári út 35.

A MIMIO interaktív tábla használata. Dr. Boda István DRHE,

MATLAB alapismeretek III.

A Paint program használata

Mindenki abból a három tantárgyból tesz szigorlatot, amelyet hallgatott.

1. Számítógép-használati rend 19. Számonkérés 2. Mire jó a számítógép? 20. Az imagine varázslatos világa 3. A számítógép részei; Hardver, perifériák

Grafikus felhasználói felület (GUI) létrehozása A GUI jelentése Egy egyszerű GUI mintaalkalmazás létrehozása

MATLAB alapismeretek X. Egy összetettebb példa grafikus felhasználói felület (GUI) létrehozására

A WORD 2016 szövegszerkesztő újdonságai

Virtuális függvények (late binding)

Objektumok és osztályok. Az objektumorientált programozás alapjai. Rajzolás tollal, festés ecsettel. A koordinátarendszer

Eredmények, objektumok grafikus megjelenítése 3D felületek rajzoló függvényei

Táblázatok. Táblázatok beszúrása. Cellák kijelölése

Thermo1 Graph. Felhasználói segédlet

SAMSUNG SSM-8000 szoftvercsomag

Excel VI. Haladó ismeretek. Makrók készítése Visual Basic nyelven Egyszerű Visual Basic program

Operációs rendszerek. Tanmenet

3. modul - Szövegszerkesztés

Prezentáció. Kategória Tudásterület Hivatkozás Tudáselem 1. Az alkalmazás használata 1.1 Első lépések a prezentációkészítésben

Az informatika kulcsfogalmai

Operációs rendszerek. Tanmenet

informatika általános iskola 8. osztály

A LOGSYS GUI. Fehér Béla Raikovich Tamás, Laczkó Péter BME MIT FPGA laboratórium

Excel III. Haladó ismeretek

MATLAB alapismeretek V. Eredmények grafikus megjelenítése: oszlopdiagramok, hisztogramok, tortadiagramok

CodeBlocks installálási segédlet

Készlet nyilvántartó

Programozás I. gyakorlat

Informatika témavázlat. 3. évfolyam

A képernyő felbontásának módosítása

MATLAB alapismeretek II.

RÉSZLETES ÉRETTSÉGI VIZSGAKÖVETELMÉNYEK INFORMATIKÁBÓL

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

Win 8 változatok. 2. sz. melléklet felnottkepzes@gmail.com. Töltse ki az előzetes tudásszint felmérő dolgozatot!

ECDL Táblázatkezelés A táblázatkezelés első lépései Beállítások elvégzése

Alapok (a K2D rendszer alapjai)

13. Tárgymutató. Windows XP alapokon

Érintőképernyős terminálok NB sorozat

A Vonallánc készlet parancsai lehetővé teszik vonalláncok és sokszögek rajzolását.

ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES

Egyszerűbb a Google keresőbe beírni a Sharepoint Designer 2007 letöltés kulcsszavakat és az első találat erre a címre mutat.

Eredmények, objektumok grafikus megjelenítése 3D felületek rajzoló függvényei.. Beépített 3D felületek rajzoló függvényei

Programozási környezetek

components : IContainer dx : int dy : int tmidőzítő : Timer toolstripseparator1 : ToolStripSeparator tsmikilépés : ToolStripMenuItem

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

Molnár Mátyás. Bevezetés a PowerPoint 2010 használatába. Csak a lényeg érthetően!

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE cím: Név: Kurzuskód:

BME MOGI Gépészeti informatika 14.

Excel IV. Haladó ismeretek. További fontos függvények Függvényhasználat ellenőrzése

Excel VIII. Visual Basic programozás alapok 2. Vektorműveletek Visual Basic nyelven

Imagine Logo Tanmenet évfolyam

Egyéb 2D eszközök. Kitöltés. 5. gyakorlat. Kitöltés, Szöveg, Kép

Word VI. Lábjegyzet. Ebben a részben megadhatjuk, hogy hol szerepeljen a lábjegyzet (oldal alján, szöveg alatt).

Máté: Számítógépes grafika alapjai

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

A számítógép beállításainak megváltoztatása

Az MS Word szövegszerkesztés modul részletes tematika listája

Adóhátralék kezelés egyszerűen. Telepítési útmutató. A program futtatásához Windows XP, Windows 7, 8 operációs rendszer szükséges.

MOKKA CRAWL és NAPLÓ MÉRLEG. programok leírása

Nemzeti LEADER Kézikönyv LEADER HELYI FEJLESZTÉSI STRATÉGIA FELHASZNÁLÓI KÉZIKÖNYV szeptember

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

Programozás alapjai 2.Gy: A C nyelv alapjai P R O

Archive Player Divar Series. Kezelési útmutató

INFORMATIKA Felvételi teszt 1.

Az ErdaGIS térinformatikai keretrendszer

INFORMATIKAI ALAPISMERETEK

Az operációs rendszer fogalma

DOAS data export. DOAS data export Budapest, Egressy út Telefon: ; fax: DOAS_data_export_v01.

Bevezetés a számítástechnikába

A Pascal programozási nyelvben minden programnak a következő szerkezete van:

3D-s számítógépes geometria és alakzatrekonstrukció

Adatbázis-kezelés ActiveX vezérl kkel

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

Hálózati adminisztráció Linux (Ubuntu 8.04) 7. gyakorlat

SysCVideo: fiktív grafikus kártya SystemC modulként, SDL alapú megjelenítéssel

Forgalom nyilvántartó program Kezelési útmutató

Választó lekérdezés létrehozása

3. modul - Szövegszerkesztés

Lemezalkatrész modellezés. SolidEdge. alkatrészen

Megyei tervezést támogató alkalmazás

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter

8. óra op. rendszer Intéző

FordEcat Gyors útmutató

AutoCAD 2000H rajzszerkesztés

MONITOROK ÉS A SZÁMÍTÓGÉP KAPCSOLATA A A MONITOROKON MEGJELENÍTETT KÉP MINŐSÉGE FÜGG:

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

BBS-INFO Kiadó, 2018.

Területi elemzések. Budapest, április

Word V. tabulátortípus meg nem jelenik: Tabulátor - balra, Tabulátor - jobbra,

Prezentáció, Diagramok, rajzolt objektumok. Szervezeti diagram

Átírás:

Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 0. A grafika programozás alapjai A grafika programozás módozatai A képernyő koordinátarendszere A graphics.h header-fájl fontosabb függvényei Mintaprogram

Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 1. Grafika programozás módozatai A ma már csak ablakban elérhető szöveges (text) üzemmód helyett a monitorokat grafikus üzemmódban használjuk. Szöveges üzemmód: 80 oszlop, 25 sor, beállított kódtábla karakterei. abcd Grafikus üzemmód: Képpontonkénti (pixelenkénti) rajzolás. Egy képernyőpont a színmélységtől függő számú szín egyikével gyújtható ki. Minden rajzi elem kapcsolódó képpontok együtteseként jelenik meg.

Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 2. A C programozási nyelv használatával elérhető módozatok: alapvetően 2D vonalas grafika DOS szinten, a graphics.h könyvtár függvényeivel, alapvetően 2D vonalas grafika Windows ablakban, a graphics.h könyvtár függvényeivel, 2D grafika Windows környezetben a Canvas függvényeivel, 3D árnyalt grafika Windows környezetben, OpenGL, DirectX grafikus könyvtárakkal.

Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 3. Grafika létrehozása a képernyőmemóriába való írást jelenti. A képernyőmemória tartalma alapján a videoelektronika a képernyőképet másodpercenként 60-130 alkalommal újrarajzolja, frissíti. A grafikának ilyen hardverközeli programozása helyett mi a magasszintű C függvényeket használjuk. Mozgást, animációt a kettő, vagy több képernyőnyi képernyőmemóriák tartalmának megjelenítését váltva jeleníthetünk meg. (Double Buffer) Videokártya RAM 0111100010010001001000111100

Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 4. A képernyő koordinátarendszere (graphics.h használata esetén) (0;0) (getmaxx();0) x P(x;y) y (0;getmaxy()) (getmaxx();getmaxy())

Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 5. Monitortípusok, meghajtókártyák, meghajtóprogramok, módok A monitornak, a meghajtókártyának (vezérlőkártya) és a meghajtószoftvernek (interfész) egymáshoz illeszkednie kell! Ezt a beállítást elvégzi az operációs rendszer. A C magasszintű grafikus függvényeit, melyek a <graphics.h> headerfájlban találhatók, a különféle monitorokhoz, ill. meghajtókártyákhoz a meghajtószoftverek illesztik. Mód van a monitor és a meghajtókártya alkotta grafikus hardver típusának automatikus meghatározására, detektálására. Egy adott grafikus hardver többféle módon beállítható a felbontás, a színek száma szempontjából. Ezt a beállítást a grafikus mód (Gm) változó mutatja.

Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 6. A graphics.h fájl fontosabb függvényei Lehetőségek: grafikus rendszer vezérlése, rajzolás kifestés, kitöltés, szövegkiírás, képernyőrész, ill. ablakkezelés, lapozás színkezelés hibakezelés állapotlekérdezés. Lásd még: http://www.cs.colorado.edu/~main/cs1300/doc/bgi/index.html

Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 7. Grafikus rendszer kezelése: detectgraph(); initgraph(); initwindow(); closegraph(); setgraphmode(); Grafikus hardver detektálás (DOS) Grafikus mód beállítás (DOS) Grafikus mód beállítás (Windows, CodeBlocks) Grafikus mód lezárása Más grafikus mód beállítása, ablaktörlés. initwindow(); closegraph();

Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 8. Rajzolás: moveto(); moverel(); putpixel(); line(); lineto(); linerel(); drawpoly(); circle(); arc(); ellipse(); rectangle(); setlinestyle(); stb. Grafikus kurzor pozicionálása Pont rajzolása Szakaszrajzolás Sokszögrajzolás Kör, körcikk rajzolás Ellipszisrajzolás Téglalaprajzolás Vonaljellemző beállítás

Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 9. Kifestés, kitöltés: setfillstyle(); setfillpattern(); bar(); fillpoly(); fillellipse(); pieslice(); sector(); bar3d(); Kitöltőminta+szín kiválasztás Kitöltőminta+szín megadás. Kitöltött téglalap rajzolás Kitöltött sokszög rajzolás Kitöltött ellipszis rajzolás Tortaszelet rajzolás Elliptikus szektor rajzolás Téglatest rajzolás

Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 10. Szövegkiirás: outtext(); outtextxy(); settextjustify(); settextstyle(); Szövegkiirás Szövegigazítás beállítás Karaktertípus, irány, méret (.chr kell) Képernyőrész, ill. ablakkezelés: imagesize(); getimage(); setviewport(); clearviewport(); putimage(); stb. Képernyőrész helyfoglalása Képernyőrész elmentése Ablak létrehozás+vágás Ablak törlés háttérszínre Képernyőrész kirakása

Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 11. Lapozás: setactivepage(), setvisualpage(), cleardevice(), Érvényes lap kijelölése Látható lap kijelölése Képernyő törlése Színkezelés: setcolor(), setbkcolor(), Vonalszín megadása Háttérszín megadása Hibakezelés: graphresult(), grapherrormsg(), Hibakódot ad Hibaszöveget ad a kódhoz

Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 12. Állapotlekérdezés: Minden beállítható érték lekérdezhető. A fontosabbak: getgraphmode(); A mód kódszámát adja getmaxmode(); A max. mód számát adja getdrivername(); A grafikus hardver nevét adja getx(); gety(); A grafikus kurzor aktuális pozícióját adja getmaxx(); getmaxy(); A képernyő felbontását adja getcolor(); Az akt. vonalszínt adja getpixel(); Egy adott pont színét adja getmaxcolor(); A használható legnagyobb színkódot adja getbkcolor(); A háttérszín kódját adja.

Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 13. Mintaprogram Készítsünk az alábbi ábrához hasonló ábrát rajzoló programot!

Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 14. #include <stdio.h> #include <graphics.h> int main( ) /* a CodeBlocks C program főfüggvénye */ { int i,r,maxx,maxy; initwindow( 640, 480, " WinBGIm Demo " ); /* 1024, 768 is mûködik */ setbkcolor(lightgray); /* háttérszín elõválasztás: világosszürke*/ cleardevice(); /* háttér törlése háttérszínre */ setlinestyle(solid_line,0,thick_width); /* vonalstílus beállítása */ MaxX= getmaxx(); MaxY= getmaxy(); /* ablakméret lekérdezése */ } for (i=1; i<=10; i++) { setcolor(i+5); /* aktuális vonalszín beállítása */ line(0,0,(maxx / 10)*i, MaxY); /* szakaszrajzolás */ R= (MaxY-10) / (2*i); /* körsugár beállítása */ circle(maxx-r, MaxY / 2, R); /* körrajzolás */ ellipse(maxx / 2, MaxY / 8, 0, 360, MaxX / (4*i), MaxY / 8); /* ellipszis rajzolás */ } while(!kbhit() ); /* várakozás billentyűlenyomásig */ closegraph( ); /* grafikus üzemmód/ablak bezárása */ return( 0 );

Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 15. A CodeBloks fejlesztőkörnyezetben futtatott program képe