BME MOGI Gépészeti informatika 14.

Hasonló dokumentumok
BME MOGI Gépészeti informatika 15.

BME MOGI Gépészeti informatika 18. Grafika, fájlkezelés gyakorló óra. 1. feladat Készítsen alkalmazást az = +

Form1 Form Size 400;400 Text Mozgó kör timer1 Timer Enabled True Interval 100

BME MOGI Gépészeti informatika 6.

BME MOGI Gépészeti informatika 7.

BME MOGI Gépészeti informatika 4.

BME MOGI Gépészeti informatika 13.

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

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

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba

BME MOGI Gépészeti informatika 5.

Eseményvezérelt alkalmazások fejlesztése II 3. előadás. Windows Forms dinamikus felhasználói felület, elemi grafika

GenerikusOsztály<objektumtípus> objektum = new GenerikusOsztály<objektumtípus>();

BME MOGI Gépészeti informatika 2.

BME MOGI Gépészeti informatika 1.

A Paint program használata

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

VISUAL BASIC ALAPISMERETEK

Mérési adatgyűjtés és adatfeldolgozás 2. előadás

1.A. feladat: Programablakok

Ugráló gomb oktatási segédlet Ugráló gomb

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

1. feladat Készítse el szövegszerkesztővel, majd mentse osztály.txt néven a következő tartalmú szöveges fájlt:

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

Imagine Logo Tanmenet évfolyam

Ablakok. Fájl- és mappaműveletek. Paint

Grafikai lehetőségek

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

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

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

munkafüzet open eseményéhez

Speciális szükségletű felhasználók navigációjának vizsgálata különböző multimédiás alkalmazásokban

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Tervezés eszköztár. Alapszínek alap betűk. Háttérszín (háttérstílus) Betűszínek. Betűtípusok. w w w. h a n s a g i i s k. h u

Access adatbázis elérése OLE DB-n keresztül

Programozás I. Grafika Eseménykezelés. Programozás I. 2. gyakorlat Interakció a grafikus felületen, tagfüggvények. Surányi Márton PPKE-ITK

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

Kétdimenziós rajzolás WPF-ben

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

Programozás BMEKOKAA146. Dr. Bécsi Tamás 10. Előadás

F# (efsárp) példaprogramok

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

LabVIEW példák és bemutatók KÉSZÍTETTE: DR. FÜVESI VIKTOR

Rajz 01 gyakorló feladat

5.osztály 1.foglalkozás. 5.osztály 2.foglalkozás. hatszögéskörök

Fürdőszoba tutorial 01

Felhasználói Kézikönyv

Sorosítás (szerializáció) és helyreállítás. 1. Bináris sorosítás és helyreállítás Szükséges névterek Attribútumok. 1.3.

Tartalom Képernyő részei... 2

Tervez2 Monor gyakorló leírása

Rajz 02 gyakorló feladat

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

Ablakok. Fájl- és mappaműveletek. Paint

Bevezetés a QGIS program használatába Összeálította dr. Siki Zoltán

1. Beadandó feladat dokumentáció

Táblázatkezelés 2. - Adatbevitel, szerkesztés, formázás ADATBEVITEL. a., Begépelés

Programozás 7.o Az algoritmus fogalma (ismétlés)

A szerzõrõl... xi Bevezetés... xiii

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

A színkezelés alapjai a GIMP programban

Java programozási nyelv 8. rész Grafikus felhasználói felület

Segítség a megoldáshoz: 1. Készítse el a Window-t az ábrának és az osztálydiagramnak megfelelően.

mintásfal mintásfal :m :sz :dbjobbra :dbfel

VII. Appletek, grafika

Johanyák Zsolt Csaba: Grafikus felület programozása. Copyright 2008 Johanyák Zsolt Csaba

Mechatronika segédlet 1. gyakorlat

A HONALPSZERKESZTÉS ALAPJAI. 50 feladat. a Debreceni Egyetem Informatikai Karának. Informatikus Könyvtáros szakos hallgatói számára

QGIS szerkesztések ( verzió) Összeállította: dr. Siki Zoltán verzióra aktualizálta: Jáky András

Kedves versenyző, az alábbi feladatok illetve egy interneten kitöltendő teszt megoldására 90 perc áll rendelkezésedre.

1. beadandó feladat: egyszerű grafikus felületű alkalmazás. Közös követelmények:

Programozási nyelvek 2. előadás

Összefoglaló. // megjegyzés /* megjegyzés */ ; // üres utasítás { } // blokk kezdet és vég

Grafikus felületek készítése 1.

Java és web programozás

Lakóház tervezés ADT 3.3-al. Segédlet

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

fmaozaik :n :m :h :s járóóra

Vizuális programozás gyakorlat

Két csomag elemeiből lehet a felületet elkészíteni: awt: heavy weight komponensek; swing: light weight komponensek (időben később).

Operációs rendszerek. Tanmenet

1. Tesztlap: Programablakok

Gyakorló 9. feladat megoldási útmutató

"Egységes erdélyi felnőttképzés Kárpát-medencei hálózatban" JAVA ALAPÚ WEBPROGRAMOZÁS. M6 Modul: A DOM Modell

A GIMP festő és rajzolóeszközei

Tájékoztató. Használható segédeszköz: -

Programozási technológia

BEÁGYAZOTT RENDSZEREK ALAPJAI. Grafikus benchmark alkalmazás

Rajzoljunk a Flash programmal! FLASH ALAPOK I.

8.4 Többszálú alkalmazások készítése

Az alábbiakban szeretnénk segítséget nyújtani Önnek a CIB Internet Bankból történő nyomtatáshoz szükséges böngésző beállítások végrehajtásában.

Feladatok megoldásai

BME MOGI Gépészeti informatika 8.

Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII,

Készítsen négy oldalas prezentációt az E CD bolt számára! Tervezze meg az emblémáját!

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

* Az eszköztáron látható menüpontok közül csak a felsoroltak esetén használható a Ctrl.

Szürke árnyalat: R=G=B. OPENCV: BGR Mátrix típus: CV_8UC3 Pont típus: img.at<vec3b>(i, j) Tartomány: R, G, B [0, 255]

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

Átírás:

BME MOGI Gépészeti informatika 14. 1. feladat Készítsen alkalmazást, mely a képernyő közepére egy véletlen színnel kitöltött kört rajzol! A színváltást nyomógomb segítségével oldja meg! A rajzolást a form Paint eseménykezelő metódusában valósítsa meg! Biztosítsa a kép helyes megjelenését a form átméretezése esetén is! Oktatási cél: grafikus objektum rajzolásának bemutatása A Form1 osztályba írandó programkód: private int középx = 0, középy = 0; private int sugár = 0; private Color szín = Color.Blue; private void Form1_Load(object sender, EventArgs e) //a jobb alsó sarokhoz rögzítjük a gombot button1.anchor = AnchorStyles.Bottom AnchorStyles.Right; középx = this.clientsize.width / 2; középy = this.clientsize.height / 2; sugár = 2 * Math.Min(középX, középy) / 3; private void Form1_Paint(object sender, PaintEventArgs e) Graphics g = e.graphics; SolidBrush sb = new SolidBrush(szín); g.fillellipse(sb, new Rectangle(középX - sugár, középy - sugár, 2 * sugár, 2 * sugár)); private void Form1_Resize(object sender, EventArgs e) Form1_Load(sender, e); Refresh(); 1

2. feladat private void button1_click(object sender, EventArgs e) Random rnd = new Random(); szín = Color.FromArgb(rnd.Next(256), rnd.next(256), rnd.next(256)); Refresh(); Írjon alkalmazást, mely a felhasználó választása szerint piros, zöld vagy kék színnel, véletlen méretű kitöltött téglalapot, ellipszist vagy kitöltetlen kört rajzol a képernyőre helyezett panelra! A téglalapok alatt ugyanazzal a színnel jelenítse meg a téglalap szót is! Az alakzatok és a színek kombinált listákból legyenek választhatók! A rajzolás egy nyomógomb megnyomására történjen, egy másik nyomógombbal tegye lehetővé a rajzfelület törlését is! Rögzítse a vezérlőket a megfelelő oldalakhoz! Biztosítsa a kép helyes megjelenését a form átméretezése esetén is! Oktatási cél: grafikus objektumok rajzolásának bemutatása, szövegkezelés grafikusan A Form1 osztályba írandó programkód: Pen toll; Font betu; Brush ecset; Color szín; Color[] színek = Color.Red, Color.Green, Color.Blue ; Random rnd = new Random(); int alakzat = 0; int balx = 0, baly = 0, magasság = 0, szélesség = 0; 2

private void combobox1_selectedindexchanged(object sender, EventArgs e) alakzat = combobox1.selectedindex; private void button1_click(object sender, EventArgs e) Rajzol(); private void button2_click(object sender, EventArgs e) panel1.creategraphics().clear(panel1.backcolor); private void Rajzol() int szél = rnd.next(10, szélesség / 5); int mag = rnd.next(10, magasság / 5); Size méret = new Size(szél, mag); int x = rnd.next(szél, szélesség - szél); int y = rnd.next(mag-10, magasság - mag+10); Point pont = new Point(x, y); SizeF szövegméret = new SizeF(); Graphics grafika = panel1.creategraphics(); switch (alakzat) case 0: Rectangle t = new Rectangle(pont, méret); //grafika.drawrectangle(toll, t); grafika.fillrectangle(ecset, t); szövegméret = grafika.measurestring("téglalap", betu); grafika.drawstring("téglalap", betu, ecset, (pont.x + szél / 2) - szövegméret.width / 2, pont.y + mag + szövegméret.height / 2); break; case 1: Rectangle t1 = new Rectangle(pont, new Size(Math.Min(szél, mag), Math.Min(szél, mag))); grafika.drawellipse(toll, t1); break; default: Rectangle t2 = new Rectangle(pont, méret); grafika.fillellipse(ecset, t2); break; private void Form1_Resize(object sender, EventArgs e) magasság = panel1.height; szélesség = panel1.width; panel1.creategraphics().clear(panel1.backcolor); private void combobox2_selectedindexchanged(object sender, EventArgs e) szín = színek[combobox2.selectedindex]; toll = new Pen(szín, 1); 3

ecset = new SolidBrush(szín); private void Form1_Load(object sender, EventArgs e) szín = színek[0]; toll = new Pen(szín, 1); ecset = new SolidBrush(szín); betu = new Font("Courier New", 10); balx = panel1.left; baly = panel1.top; magasság = panel1.height; szélesség = panel1.width; combobox1.items.add("téglalap"); combobox1.items.add("kör"); combobox1.items.add("ellipszis"); combobox1.selectedindex = 0; combobox2.items.add("piros"); combobox2.items.add("zöld"); combobox2.items.add("kék"); combobox2.selectedindex = 0; 3. feladat önálló feldolgozásra Készítsen alkalmazást, mely elvégzi a következő műveleteket az egérpozícióban: a. Az egér mozgatásakor 5 pont hosszúságú, korál színű vonalat rajzol! b. Az egérgomb lenyomásakor 5 pont sugarú, kék színnel kitöltött kört rajzol! c. Az egérgomb felengedésekor 10 pont oldalhosszúságú, piros színnel kitöltött négyzetet rajzol! d. Az egérgombbal történő dupla kattintáskor befejezi / újraindítja a rajzolást! Oktatási cél: rajzolás bemutatása egéresemények bekövetkeztekor 4

A Form1 osztályba írandó programkód: Graphics g; bool rajzoljon = true; private void Form1_MouseDown(object sender, MouseEventArgs e) if (rajzoljon) Rectangle t = new Rectangle(e.X, e.y, 10, 10); g.fillellipse(brushes.blue,t); private void Form1_MouseMove(object sender, MouseEventArgs e) if (rajzoljon) g.drawline(pens.coral,e.x,e.y,e.x+5,e.y+5); private void Form1_Load(object sender, EventArgs e) g = this.creategraphics(); private void Form1_MouseUp(object sender, MouseEventArgs e) if (rajzoljon) Rectangle t = new Rectangle(e.X, e.y, 10, 10); g.fillrectangle(brushes.red, t); private void Form1_MouseDoubleClick(object sender, MouseEventArgs e) if (rajzoljon) 5

g = null; else g = this.creategraphics(); rajzoljon =!rajzoljon; 4. feladat önálló feldolgozásra Írjon alkalmazást, mely egy Label vezérlő betű- és háttérszínét állítja be a felhasználó által megadott színre! A színt generálja vízszintes HScrollBar vezérlők értékeiből, melyek a piros, a kék és a zöld összetevőt adják meg! A betűszín és háttérszín közötti váltást CheckBox vezérlővel oldja meg! Oktatási cél: betű- és háttérszín beállításának, RGB szín generálásának bemutatása A Form1 osztályba írandó programkód: private void hscrollbar1_valuechanged(object sender, EventArgs e) Színez(); private void hscrollbar2_valuechanged(object sender, EventArgs e) Színez(); private void hscrollbar3_valuechanged(object sender, EventArgs e) Színez(); private void Form1_Load(object sender, EventArgs e) hscrollbar1.minimum = 0; hscrollbar1.maximum = 255; hscrollbar1.smallchange = 1; hscrollbar1.largechange = 10; hscrollbar2.minimum = 0; 6

hscrollbar2.maximum = 255; hscrollbar2.smallchange = 1; hscrollbar2.largechange = 10; hscrollbar3.minimum = 0; hscrollbar3.maximum = 255; hscrollbar3.smallchange = 1; hscrollbar3.largechange = 10; private void Színez() if (checkbox1.checked) label1.forecolor = Color.FromArgb(hScrollBar1.Value, hscrollbar2.value, hscrollbar3.value); else label1.backcolor = Color.FromArgb(hScrollBar1.Value, hscrollbar2.value, hscrollbar3.value); 5. feladat önálló feldolgozásra Készítsen alkalmazást, mely diavetítésszerűen jelenít meg képeket! Az időzítést Timer segítségével oldja meg! Oktatási cél: bitképek megjelenítésének és a Timer használatának bemutatása A Form1 osztályba írandó programkód: Image[] kepek=new Image[3]; int sorszám = 0; private void Form1_Load(object sender, EventArgs e) 7

kepek[0]= Image.FromFile ("cica.jpg"); kepek[1] = new Bitmap("petúnia.jpg"); kepek[2] = new Bitmap("rózsa.jpg"); timer1.enabled = true; timer1.interval = 5000; private void timer1_tick(object sender, EventArgs e) sorszám=(sorszám+1)%3; Graphics g = this.creategraphics(); g.clear(this.backcolor); g.drawimage(kepek[sorszám],20, 25, kepek[sorszám].width, kepek[sorszám].height); private void Form1_Paint(object sender, PaintEventArgs e) Graphics g = this.creategraphics(); g.drawimage(kepek[sorszám], 20, 25,kepek[sorszám].Width, kepek[sorszám].height); 6. feladat önálló feldolgozásra Írjon alkalmazást, mely általános párbeszédablakok segítségével megváltoztatja egy címke háttér- és betűszínét, valamint szövegének beállításait! A párbeszédablakok megnyitását nyomógombok segítségével valósítsa meg! Oktatási cél: dialógusablakok használatának bemutatása A Form1 osztályba írandó programkód: private void button1_click(object sender, EventArgs e) ColorDialog clg = new ColorDialog(); clg.color = label1.backcolor; clg.showdialog(); label1.backcolor = clg.color; private void button2_click(object sender, EventArgs e) ColorDialog clg = new ColorDialog(); 8

clg.color = label1.forecolor; clg.showdialog(); label1.forecolor = clg.color; private void button3_click(object sender, EventArgs e) FontDialog ftg = new FontDialog(); ftg.font = label1.font; ftg.showdialog(); label1.font = ftg.font; 9

Gyakorló feladatok grafika 1 1. Készítsen Windows Forms alkalmazást, melyben nyomógombok segítségével rajzol kifestett lila téglalapot, sárga kört és barna ellipszist! A befoglaló téglalapok méretét véletlenszerűen válassza meg, úgy, hogy a grafikus alakzatok elférjenek a formon! Egy negyedik nyomógombbal tegye lehetővé a form törlését! 2. Írjon Windows Forms alkalmazást, amely nyomógombon való kattintással előállít egy véletlen színt az RGB összetevőkből, majd befest egy négyzetet ezzel a színnel! Szövegmezőkben jelenítse meg a színösszetevők értékét is! 3. Tervezzen egy.bmp (bitkép) formátumú képet a Paint programmal, és jelenítse meg egy Windows Forms alkalmazásban! 4. Készítsen Windows Forms alkalmazást, mely a formon történő kattintásra megnyíló párbeszédablakban választott színre változtatja a form hátterét! A formon történő dupla kattintásra állítsa vissza az eredeti háttérszínt! 5. Írjon Windows Forms alkalmazást, amely valamilyen keretszínű, a keretszíntől eltérő színnel kifestett négyzetbe egy, az előző színektől eltérő színűre festett kört rajzol! A színeket három kombinált listából lehessen kiválasztani, bármelyik szín változásakor rajzolja ki újra az alakzatot! 6. Készítsen Windows Forms alkalmazást, mely szabadkézi rajzolást tesz lehetővé a formon! Az egérgomb lenyomásakor és mozgatásakor rajzoljon egyenest, az egérgomb felengedésekor hagyja abba a rajzolást! A vonal színe párbeszédablak használatával legyen beállítható, a vonalvastagságot beviteli mezőben lehessen megadni! 7. Írjon Windows Forms alkalmazást, mely véletlen számú, eltérő színű és sugarú koncentrikus kört rajzol! A körök száma 5 és 20 között változzon, a körök középpontja a form közepe legyen, a sugarakat úgy válassza meg, hogy a legnagyobb kör is elférjen az ablakban! A körök színét egy, a színkódokkal feltöltött konstans tömbből véletlenszerűen válassza ki! 10