Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Számítógépes Grafika 2. gyakorlat Programtervező informatikus (esti) 2011/2012 őszi félév.

Hasonló előadás


Az előadások a következő témára: "Számítógépes Grafika 2. gyakorlat Programtervező informatikus (esti) 2011/2012 őszi félév."— Előadás másolata:

1 Számítógépes Grafika 2. gyakorlat Programtervező informatikus (esti) 2011/2012 őszi félév

2 Utasítások PImage:.gif,.jpg,.tga és.png képek megjelenítését szolgáló osztály A.width és.height mezők az adott kép szélességét és magasságát tárolják A.pixels tömbje pedig a színeket

3 Utasítások loadImage(eleres): visszaad egy PImage-t, ami az első paraméterben megadott elérési útvonalon található (lehet URL is!) image(img, x, y, width, height): kirajzol Az img nevű PImage típusú képet kifeszíti az (x, y, width, height) által meghatározott téglalapra (ha kell nagyít/kicsinyít)

4 Utasítások A pixels[] tömb használata a következő: Először img.loadPixels() függvényhívás kell, ami feltölti a pixels[] tömböt Utána használhatjuk a img.pixels[]-t a kép pixeleinek lekérdezésére és módosítására (1D-s a tömb!) Végül ha módosításokat végeztünk, akkor img.updatePixels()-t kell hívnunk

5 Példa PImage i ; void setup() { size(600,600) ; i = loadImage("http://hapakj.web.elte.hu/szgesti/images/elte.png") ; } void draw() { image(i,10,10) ; }

6 Feladat 1 Töltsetek be egy tetszőleges képet a netről Bal kattintás jelölje ki a kép bal felső pozícióját Jobb kattintás pedig a jobb alsót

7 Adatszerkezetek A Processing támogatja alapból a következő tároló típusokat: ArrayList HashMap Array stb… Használatuk a Java referencia szerint

8 Adatszerkezetek PVector: 2 vagy 3 dimenziós vektor Adatmezők: x, y, z Eljárások: set(), get(), mag(), add(), sub(), normalize(), …

9 ArrayList példa ArrayList al = new ArrayList(); al.add(new PVector(3, 2)); al.add(new PVector(35, 22)); for (int i=0; i<al.size(); ++i) { PVector p = (PVector)al.get(i); print(p); }

10 Feladat 2 Írjuk programot, ami minden bal egérgombbal történő kattintást rögzít és hozzáadja egy listához. Minden ponthármasra rajzoljunk ki egy háromszöget.

11 Fájl output PrintWriter: Fájlba kiírásra Használat: StreamWriter w = createWriter(“file.txt”); Eljárások:  print()  println()  flush()  close()

12 Fájl input String[] loadStrings( ) : Betölti a paraméterben kapott fájlt soronként, visszaadja a beolvasás eredményét Használat: String lines[] = loadStrings("szoveg.txt");

13 Szövegek feldolgozása String[] split(str, delim): –String gy = "alma, korte”; String[] l = split(gy, ','); String[] splitTokens(str, delims): –String gy = "alma, korte; eper”; String[] l = splitTokens(gy,“,;”);

14 String osztály Eljárások Java-ból ami ismerős: substring(int fi, int li); trim() … Számmá alakítás: parseInt(s); parseFloat(s);

15 Feladat 3 Az „s” billentyű lenyomására lehessen fájlba menteni az aktuális állapotot! Az „l” billentyű segítségével pedig töltsük vissza a legutóbbit!

16 Szövegkirajzolás PFont: A Processing karakterkészlet osztálya Használat: PFont fnt = createFont("Arial", 12); textFont(PFont): Az aktuális kirajzolási karakterkészletet a paraméterben kapottra módosítja text(str, x, y[, w, h, z]) textSize(int)

17 Szövegkirajzolás textAlign(xAlign, yAlign): vízszintes és függőleges szövegigazítás, lehetséges értékei LEFT, CENTER, RIGHT loadFont(fájlnév): külső fájlból tölthetünk be vele karaterkészletet PFont fnt = loadFont("font.flw");

18 Példa void setup() { size(600,600); PFont fnt = createFont("Arial",20) ; textFont(fnt) ; } void draw() { text("Helló",100,100) ; }

19 Feladat 4 Minden kattintásra annak helyére írjátok ki a kattintás gombját és pozicióját.

20 Osztályok Osztályok definiálása szokásos módon: class OsztNev { void fv() {...} int i; }

21 Osztályok Az osztály egy példányának létrehozása szintén: OsztNev o = new OsztNev();

22 Feladat Írjatok egy PattogoKor osztályt! Legyen szín és sugár jellemzője Szóköz billentyű megnyomására jöjjön létre egy új pattogó kör, ami a képernyő keretein belül pattog! (véletlen sugár és szín attributumokkal) NEHEZÍTÉS (Házi Feladat): A körök egymásról is pattanjanak vissza

23 Feladat Csináljunk egy Teglalap osztályt! Legyen pozíció és szélesség/magasság, szin adattagja Szóköz lenyomására jelenjen meg egy a képernyőn (véletlen helyen, véletlen attributumokkal) A téglalap közepére legyen beleírva színe RGB kódja, és a poziciója A téglalap kirajzolásáért annak Draw() metódusa feleljen

24 Feladat / Házi feladat Jobb gombbal való kattintásra változzon a téglalap kapjon új véletlen színt Bal egérgombbal lehessen a kiválasztott téglalapot előtérbe hozni Legyen lehetőség a bal egérgombbal a téglalap vonszolására Törekedjetek az OOP elvű megvalósításra!


Letölteni ppt "Számítógépes Grafika 2. gyakorlat Programtervező informatikus (esti) 2011/2012 őszi félév."

Hasonló előadás


Google Hirdetések