QT Grafika az alap alkalmazás (GrafikaQtvel) működése

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "QT Grafika az alap alkalmazás (GrafikaQtvel) működése"

Átírás

1 QT Grafika az alap alkalmazás (GrafikaQtvel) működése Állapot mentése és visszaállítása Intézzük el, hogy a program megjegyezze a beállításainkat, beleértve az ablak pozícióját és indításkor az utoljára használt adatokat töltse vissza. Erre szolgál a QSettings osztály (használatához :#include <QSettings>), amelyik platformfüggetlenül használható, noha mind a paraméterek tárolási helye, mind a formátuma különbözhet az egyes platformokon 1. A QSettings osztály a QVariant-ból van leszármaztatva, ezért olyan változók értékeit tudjuk vel közvetlenül beolvasni, amelyek a QtCore-hoz tartoznak. A grafikus típusok beolvasására a QSettings::value <típus>() template konverziós függvényeket használhatjuk, a többi típusra a QVariant-nál is látottakat (pl. QSettings::value(kategória név, érték).toint() ) használhatjuk. Az értékek beállítása QSettings::setValue(név, érték) függvény szolgál. A QSettings-nek ötfajta konstruktora van. Ezek közül mi a QSetting s(alap név, program név) konstruktort fogjuk használni. Az alap név pl. egy cégnév lehet, nálunk a Programozás 3 lesz ez, a program neve pedig GrafikaQtvel. A QSettings-el elmentett adatok lehetnek egy hierarchia részei. Pl. egy ablak helyzete, illetve méretei az ablakhoz tartoznak ezért egy hierarchiába rendezhetőek: Ablak x a bal oldal x koordinátája y y koord. w szélessége h magassága Ezekhez elnevezhetnénk 'Ablak_x',, Ablak_y, Ablak_w és Ablak_h, de használhatnánk az Ablak/x, Ablak/y, Ablak/w és Ablak/h neveket is, de ez nem lenne áttekinthető. 1 Pl. Windows platformon a paraméterek a Registry-ben tárolódnak, ami egy nem szöveges adatbázis, OS X és.ios alatt ún. property listákban, UNIX alatt pl. INI fájlokban.

2 Szerencsére a QSettings lehetővé teszi hierarchiák létrehozását azzal, hogy beállításainkat csoportokba rendezhetjük. A fenti esetre így: QSettings s("programozás 3", " GrafikaQtvel"); s.begingroup("ablak"); s.setvalue("x", geometry.left() ); s.setvalue("y", geometry.top() ); s.setvalue("w", geometry.width() ); s.setvalue("h", geometry.height() ); s.endgroup(); Minden widget-nek megvannak ezek a geometriai adatai. Ezeknek az elmentésére sokszor van szükség. Hogy ne kelljen minden widgethez a fenti csoportban szereplő 4 sort beírni használjuk a Qt savegeometry() kényelmi függvényét. Egy ablaknak (QMainWindow vagy QDialog) azonban nem csak geometriai adatai vannak, hanem több állapota is van: lehet normál, teljes képernyős, vagy ikon állapotban. Ezeket a savestate() függvénnyel menthetjük el. Tehát az ablakokhoz a savegeometry() és a savestate() függvény egyaránt szükséges. Ezek visszaállításához a restoregeometry() és restorestat()e függvényeket fogjuk használni, berakva ezeket egy csoportba. Esetünkben azonban nem csak az ablakunk adatait, hanem más adatokat is szeretnénk tartósan tárolni. Ilyenek pl. a közös toll vastagság, stílus, stb paraméterek. Ezért ezek beolvasására és kiírására létre fogunk hozni két függvényt. A program indulásakor beolvassuk és visszaállítjuk az egyes paramétereket, a programból való kilépéskor elmentjük azokat. Ezt a két függvényt módosítjuk majd, ahogy egyre több adatot kell majd letároljunk. Az áttekinthetőség érdekében minden egyes lap adatainak elmentéséhez és visszaolvasásához külön függvényt készítünk. Ezeket fokozatosan töltjük meg tartalommal. Adjuk hozzá a #include <QColor> sort a grafikaqtvel.h fájlhoz, a #include <QSettings> sort a grafikaqtvel.cpp fájlhoz! Ezután adjuk hozzá az elmenteni kívánt private mezőket 2 (ezekben tároljuk a rajzolási paramétereket) a GrafikaQTvel osztályhoz. Egyelőre csak a közös paraméterek kerülnek ide, 2 Konvenció: Minden olyan mező, illetve függvény nevét, amelyek private-ok egy osztályban aláhúzással fogjuk kezdeni. Minden függvény neve (az esetleges kezdő aláhúzás karaktert nem számítva) nagybetűvel kezdődik, hogy megkülönböztessük ezeket a Qt-beli függvényektől.

3 de a lista a későbbiekben bővülni fog majd. Mindegyik alábbi elmenteni kívánt tulajdonságnak saját típusa van a Qt-ben, amit itt megjegyzésbe írunk, mert tulajdonság neve helyett csak egy sorszámot fogunk elmenteni. QColor _pencolor, _brushcolor; int _penwidth; int _penstyle; // Qt::QPenStyle int _pencap; // Qt::QPenCapStyle int _penjoin; // Qt::QPenJoinStyle int _brushstyle; // Qt::BrushStyle Adjuk hozzá az állapot elmentésére és visszaolvasására szolgáló következő két private függvény deklarációját a.h fájlhoz! void _SaveState(); Ez hívja meg a minden lap beállításainak elmentését végző függvényt, void _ReadState(); ez pedig a visszaállításukat. Adjuk a függvények definícióit a.cpp fájlhoz: // elmenti az alkalmazás állapotát void GrafikaQTvel::_SaveState() QSettings settings("programozás 3", "firstdraw"); settings.begingroup("ablak"); settings.setvalue("geometry", savegeometry()); settings.setvalue("state", savestate()); // Közös rajzolási beállítások: settings.begingroup("toll"); settings.setvalue("vastagság", _penwidth); settings.setvalue("szín", _pencolor); settings.setvalue("stílus", _penstyle); settings.setvalue("vonalvég", _pencap); settings.setvalue("kapcsolódás", _penjoin); settings.begingroup("ecset"); settings.setvalue("szín", _brushcolor); settings.setvalue("stílus", _brushstyle); // Egyéb paraméterek elmentése A geometria és az állapot visszaolvasásánál egy bájtokból álló tömbé kell alakítani az adatokat: void GrafikaQTvel::_ReadState() QSettings settings("programozás 3", "firstdraw"); settings.begingroup("ablak");

4 restoregeometry(settings.value("geometry").tobytearray()); restorestate(settings.value("state").tobytearray()); settings.begingroup("toll"); _penwidth=settings.value("vastagság", 1).toInt(); //1: default // Mival a QColor nem QVariant cselezni kell _pencolor = settings.value("szín").value<qcolor>(); _penstyle = settings.value("stílus", 1).toInt(); // 1: Qt::SolidLine _pencap = settings.value("vonalvég", Qt::FlatCap).toInt(); _penjoin = settings.value("kapcsolódás", Qt::MiterJoin).toInt(); // Egyéb paraméterek beolvasása A konstruktorban írjuk be az állapot beolvasását, a destruktorban a kiírását: GrafikaQTvel::GrafikaQTvel(QWidget *parent) : QMainWindow(parent) ui.setupui(this); _ReadState(); Ahhoz, hogy az alkalmazásunk valóban platformfüggetlen legye be kell tartanunk néhány szabályt: 1. Mivel vannak platformok ahol a kis és nagybetű azonos, és vannak, ahol különböző ugyanazt a nevet mindig ugyanúgy írjuk. 2. Ne használjunk olyan neveket, amelyek egymástól csak a kis- és nagybetűkben különböznek 3. Ne használjunk /, vagy \ karaktereket a nevekben. A / karakter a név hierarchiájának megadásánál szerepel. A közös paraméterek beállítása Bár a Toll és Ecset fejlécű lapot hoztuk létre utoljára az ottani adatokat állítjuk be először. Ezért inkább legyen ez az első lap! Ehhez válasszuk ki ezt és a jobb egérgombos menüből a Change Order almenüt! Kattintsunk az utolsó lap nevére, majd a felfele nyíllal vigyük fel legfelülre! Noha ez látszólag nem változtatja meg a lap indexét, a valóságban azonban az is megváltozik, de csak akkor látjuk, ha sorrend beállításba újra belépünk. Nyomjuk meg a Rendben/Ok-t!

5 Az első kérdés: mikor változtassuk meg a lokális változóink értéket? Rögtön a beállításuk után, vagy csak amikor kilépünk a programból? Ha az itteni beállítások egy másik ablakban lennének, akkor mindenképpen az előbbit választanánk. Most ez nem kötelező, de tegyük ezt! De minek kell az egyes mezők kiindulási értékeinek lenniük? Az, amit beolvastunk a beállításokból. Vagyis a beállítások beolvasása után azonnal át kell állítani az eszköztár lapjain levő értékeket. Ezt a beállítást célszerű minden lapnál egy külön függvénybe tenni, amiket egyetlen függvényből a neve legyen _SetupControls() tudunk meghívni. A függvény, ami csak a Toll és Ecset lapon szereplő értékeket állítja be legyen void _SetupCommon()! Hasonló függvényeket adhatunk a többi laphoz is. Érdemes előre gondolkozni. Mivel tudjuk mit fogunk csinálni a függvények deklarációit már most adjuk hozzá a.h fájlhoz: void _SetupControls(); // közös paraméterek Toll és Ecset lap void _SetupCommon(); // t0bbi lap void _SetupDrawing(); void _SetupGraph(); void _SetupInteract(); void _SetupFractal(); void _SetupTransform(); void _SetupShapes(); void _SetupPictures(); void _SetupFilters(); és egyelőre üres definícióikat a.cpp fájlhoz!: void GrafikaQTvel::_SetupCommon() void GrafikaQTvel::_SetupDrawing() void GrafikaQTvel::_SetupGraph() void GrafikaQTvel::_SetupInteract() void GrafikaQTvel::_SetupFractal() void GrafikaQTvel::_SetupTransform() void GrafikaQTvel::_SetupShapes() void GrafikaQTvel::_SetupPictures() void GrafikaQTvel::_SetupFilters() A _SetupControls() egyszerű: void GrafikaQTvel::_SetupControls() _SetupCommon(); _SetupDrawing(); _SetupGraph(); _SetupInteract();

6 _SetupFractal(); _SetupTransform(); _SetupShapes(); _SetupPictures(); _SetupFilters(); Ezt a függvényt meg kell hívjuk a konstruktorban, a _ReadState() után: GrafikaQTvel::GrafikaQTvel(QWidget *parent) : QMainWindow(parent) ui.setupui(this); _ReadState(); _SetupControls(); Most megírjuk a SetupCommon() törzsét. Ahogy előbbre haladunk a programban majd elkészítjük a többi lap Setup () függvényét is. A _SetupCommon()-ban először beállítjuk a toll vastagságot: ui.sbpenwidth.setvalue(_penwidth); utána pedig az egyes lenyíló listák elem indexét (currentindex): ui.cbpenstyle->setcurrentindex(_penstyle); ui.cbpencap->setcurrentindex(_pencap); ui.cbpenjoin->setcurrentindex(_penjoin); Ezután be kell állítsuk a színeket. Ehhez a tudnunk kell, hogy a QColor típus mit is tartalmaz és hogyan kell vele bánnunk. Színekről röviden Az emberi szemben háromféle 3 színérzékelő csapocska van, ezek érzékenységének maximuma durván a kék, zöld és vörös színeknek felel meg. A zöld és vörös színérzékelő csapocskák érzékenységi görbéje átlapolódik a kéké ezektől távol van (S nm, M nm, L nm). 3 Egyes nőknek 4 színérzékelő csapocska van a szemében. Ők sokkal több színt tudnak megkülönböztetni, mint a többi nő, illetve minden férfi.

7 Ezért a vörös (R), zöld (G) és kék (B) színeket szoktuk alapszíneknek nevezni. Ezek adják az RGB színteret. Amikor alapszíneket keverünk össze más színeket kapunk. Kétfajta színkeverési módszer van az összeadó (additív), ami annak felel meg, hogy a színeket egymásra vetítjük (ezt használják a monitorok is) és a kivonó (szubtraktív), amit a festészetben, illetve a színes nyomtatásban használnak. A szubtraktív színkeverés alapszínei a bíbor (M - magenta), sárga (Y) és a cián (C). A szubtraktív színkeverés alapszínei az additív színkeverés alapszíneinek páronkénti összadásával állíthatóak elő és ezeket ilyenkor kiegészítő színeknek nevezik 4. Mindhárom additív komponenst egyenlő arányban összekeverve a szürke árnyalatait kapjuk, feketétől (mindegyik komponens 0%) a fehérig (mindegyik komponens 100%). Ugyanígy eljárva a szubtraktív rendszerben a fehértől (mindegyik komponens 0%) a feketéig (mindegyik komponens 100%) terjedő tartományt kapjuk meg. Legalább is elvileg, mert a gyakorlatban a feketét sosem érjük el. Ezért nyomtatásnál általában fekete festéket (black) is kell használni. E miatt a szubtraktív rendszert szokás CMYK 5 színrendszernek is nevezni. Egy színt tehát megadhatunk a három komponensének százalékos arányával. Attól függően, hogy a tartományt hány részre bontjuk fel függ a megjeleníthető színek száma. A legelterjedtebb monitorokban, illetve a legnépszerűbb képformátumú JPG kép fájlokban mindegyik színhez a tartomány tartozik, vagyis a JPG-ben összesen 0x = szín, de mindössze 256 szürke árnyalat jeleníthető meg. A színeket azonban más módokon is megadhatjuk. Az R G és B értékek egy háromdimenziós térnegyedet feszítenek ki, mert az intenzitások nem negatívok. Ebben a térben bevezethetünk más, pl. hengerkoordináta rendszereket is. 4 Ez persze nem jelenti azt, hogy additív keveréssel állítunk elő szubtraktív szín rendszert. 5 Vagy CYMK.

8 A HSL 6 (Hue Saturation Lightness or Luminosity) és a HSB (Hue Saturation Value) ilyen a számítógépes grafikában kiterjedten használt hengerkoordinátarendszerek: Mind az RGB, mind a HSL és HSV rendszerek két dimenzióban is ábrázolhatóak, ahogy az az ábrán is látszik. Szín kalibráció szín profilok Amikor egy szín R, G és B összetevőit megadjuk, akkor látszólag pontosan meghatároztuk a színt. De a gyakorlatban nem ez a helyzet. Ugyanazt a tárgyat lefényképezve különböző típusú fényképezőgépekkel az eredő színek mások lesznek. Ugyanaz a kép, pl. egy fotó többnyire egész máshogy fog kinézni két különböző monitoron, vagy egy monitoron és egy mobilon vagy laptopon, illetve nyomtatásban. Ennek az az oka, hogy a különböző eszközök nem ugyanúgy reagálnak ugyanarra az RGB színhármasra. Különbözhet a színt adó szűrők és festékek átviteli karakterisztikája, a színárnyalatok mennyisége, eloszlása illetve az intenzitás 6 Hívják még HLS és HSB (B-brightness)-nek is.

9 is befolyásolhatja a színeket (gamma). A színmélység az egy színt meghatározó bitek száma is különbözhet. Ahhoz, hogy egy munkafolyamat során az érzékelt színek minden eszközön ugyanazok lehessenek az egyes eszközök karakterisztikáját le kell mérni. Ezekből szín konverziós táblázatokat képezhetünk, amelyek megadják, hogy egy adott szín eléréséhez az illető eszköz milyen RGB komponenseket vár. Az így meghatározott táblázatok az ICC (International Color Consortium) szín profilok. Ezek kiterjesztése általában.icc, vagy.icm, vagy. Egy hibás színprofil teljesen elronthatja monitor képét. Professzionális grafikai és fotószerkesztési célokra kalibrált eszközöket kell használni. Még arra is ügyelni kell, hogy a környezet megvilágítása is ugyanaz legyen mindegyik eszköznél. Színterek Fent említettük, hogy a JPG formátumú képek minden színkomponenst csak 8 biten tárolnak le. A modern fényképezőgépek ennél többre képesek: 12, 14, ill. 16 bites színmélységgel rendelkeznek, ebből állítják elő a 8 bites színeket 7.. A fentiekben láttuk, hogy bitmélység azonban nem elég az eszközök színrögzítési, illetve színábrázolási képességeinek leírására, abba beleszól az eszköz szín profilja is. De még ez is kevés információ. Egyáltalán nem biztos, hogy egy adott RGB szín rögzítésére, ill. megjelenítésére egy eszköz egyáltalán képes-e. A rögzíthető/megjeleníthető színek tartományát 8 az illető eszköz színterének nevezzük. Ez egyértelműen az eszközre jellemző. A színteret az RGB térben egy térfogattal adhatjuk meg. Minél nagyobb egy eszköz színtere annál több telített és intenzív színt tartalmaz. Mivel az eszközök színterei bármilyenek lehetnek színek szerkesztéséhez eszközfüggetlen színtereket használunk. Ezek legszűkebbikét srgb-nek hívják, ez az, amit minden eszköznek tudnia kell. Az olcsóbb 8 bites monitorok 9 ezt ismerik csak. Ez az interneten használt 7 Jobb fényképezőgépekben az eredeti feldolgozatlan bites szenzor adatokat is el lehet menteni. Az ezeket tartalmazó fájlokat összefoglaló néven RAW (nyers) fájloknak hívják. A RAW fájlok konkrét szerkezete gyártótól függő. Kiterjesztéseik lehetnek pl..crw,.cr2,.nef,.pef,.rw2, stb. Van egy nyílt formátuma is az Adobe.DNG (Digital Negative Format) 8 Megnevezése: gamut. 9 Sok "8 bites" olcsó monitor valójában csak 6 bites és a 8 bitet kis csalással: színek összemosásával szimulálják.

10 szabványos színtér is 10. Az srgb messze nem tartalmaz minden színt, amit az emberi szem meg tud különböztetni. A nyomtatók és fényképezőgépek színterei ennél nagyobbak. A legáltalánosabban szerkesztésre használt eszközfüggetlen színtér az Adobe RGB. Szokásosan a 3 dimenziós szín teret síkban ábrázolják. Egy ilyen ábrán összehasonlítva az eszközfüggetlen színtereket ezt az ábrát kapjuk (Wikipedia): Leolvasható, hogy a látható színek tartománya sok helyütt nagyobb, mint ezeké a színtereké de vannak a színterekben olyan színek is, amiket az emberi szem nem tud megkülönböztetni. Színek a Qt- ban QColor konstruktorai RGB-t várnak: QColor::QColor(int r, int g, int b, int a = 255); QColor::QColor(QRgb color); QColor::QColor(Qt::GlobalColor color) 10 A modern böngészők más színtereket is ismernek.

11 A QColor az érvényes színek mellett érvénytelen értékeket is tartalmazhat. Azt, hogy egy szín érvénytelen-e az isvalid() függvénnyel nézhetjük meg. Színek megadására használhatjuk a sztatikus fromrgb függvények valamelyikét: QColor QColor::fromRgb(int r, int g, int b, int a = 255); QColor QColor::fromRgb(QRgb rgb); A QRgb az unsigned int-tel ekvivalens érték, amit a #AARRGGBB hexadecimális számnégyessel adhatunk meg. Az AA szám az alfa csatorna, ami az adott szín átlátszóságát fejezi ki. Az a maximális értéke (itt 255) az átlátszatlan színt jelenti. Az alfa csatorna azért jó, mert ha két vagy több képet helyezünk egymásra a megjelenítéshez nem kell az egyes rétegek színeit elrontani és átírni. Az egyes szín komponenseket és az alfa csatorna értékét a red(), redf(), green(), greenf(), blue(), bluef(), alpha() és alphaf() függvényekkel kaphatjuk meg. Az F végűek 0 és 1.0 közötti valós, a többi 0 és 255 (65535) közötti egész értékeket ad vissza. A színek stíluslapokban használható szöveges numerikus, reprezentációját (#RRGGBB) a name() függvény adja vissza. A QColor típussal a színeket RGB, HSV és CMYK rendszerben is megadhatjuk, illetve megkaphatjuk. HSV-ből a sztatikus QColor QColor::fromHSV(int h, int s, int v, int a = 255) függvénnyel, ahol s és v 256 (0 255) értéket, h 360 (0 359) értéket vehet fel, vagy a szintén sztatikus QColor QColor::fromHsvF(qreal h, qreal s, qreal v, qreal a = 1.0); függvénnyel, ahol minden paraméter 0 és 1.0 között lehet. Az a paraméter az alfa csatorna. Hasonló függvények vannak a CMYK rendszerre is. Ugyanazon színek komponensei a három rendszerben:

12 A szín kiválasztására szolgáló gombok színek beállítása A gombok színének átírásához csak azok stíluslapjaiban a háttérszínt kell beállítanunk: ui.btnpencolor->setstylesheet("background:" + _pencolor.name()); ui.btnbrushcolor->setstylesheet("background:" + _brushcolor.name()); Az értékek átírása Azt akarjuk, hogy a színes gombokat megnyomva átírhassuk az egyes színeket. Ehhez meg kell írjuk a gombok SIGNAL-jait fogadó SLOT-ok lekezelését. A legegyszerűbb formában ez az on_widget_signal(paraméterek) sablonnak megfelelő SLOT definíciókkal működik: Írjuk be a deklarációkat a.h void on_sbpenwidth_valuechanged(int); void on_cnpenstyle_currentindexchanged(int index); void on_cnpencap_currentindexchanged(int index); void on_cnpenjoin_currentindexchanged( int index); void on_btnpencolor_clicked(); void on_btnbrushcolor_clicked(); és a definíciókat a.cpp fájlba! A fenti függvények között a Spin Box és a Combo Box-ok értékének változására meghívódó SLOT-okat könnyű megadni Ezekben elmentjük magunknak az új adatokat: void GrafikaQTvel::on_sbPenWidth_valueChanged(int val) _penwidth = val; void GrafikaQTvel::on_cnPenStyle_currentIndexChanged(int index) _penstyle = index; void GrafikaQTvel::on_cnPenCap_currentIndexChanged(int index) _pencap = index; void GrafikaQTvel::on_cnPenJoin_currentIndexChanged(int index) _penjoin = index;

13 A színek megváltoztatásához használjuk a Qt egyik beépítet dialógusának a QColorDialognak a getcolor() sztatikus függvényét. A getcolor a QColorDialog sztatikus kényelmi függvénye. Első paramétere az eredeti szín, a második az az ablak, amihez képest a dialogus modal 11 lesz, utolsó paramétere a dialógus címszövege, visszatérési értéke pedig a dialógusban kiválasztott szín. Ha a dialóguson belül az "Elvet" vagy "Cancel" gombot nyomjuk meg a visszaadott szín érvénytelen lesz. Első lépésként be kell include-oljuk a #include <QColorDialog>; header fájlt a cpp fájlba. Ezután meg kell írjuk a szín dialógus SLOT-ját: void on_btnpencolor_clicked() Lekérjük az eredeti stíluslapot, ami szöveges: QString s = ui.btnpencolor->stylesheet(); Mivel mi állítottuk be, tudjuk, hogy a formátuma "background:#rrggbb", vagyis a szín egy ':' után van megadva. A QColor-nak van olyan konstruktora, ami "#RRGGBB" szöveget vár, tehát a ':' utáni részt kell kivágni, ami a QString::mid(<string>, <kezdő pozíció>) függvénnyel történhet. A kezdő pozíciót a QString::indexOf(<keresett sztring>) függvény adja meg, ami -1-el tér vissza, ha a keresett szöveg nem található. Int pos = qs.indexof(":"); qs = qs.mid(pos); QColor col = QColor(qs); Ezután megjelenítjük a szín választási dialógust és kiválasztunk vele egy színt: col = QColorDialog::getColor(col, this, "Válassz toll színt!"); Csak akkor írjuk át a toll színét, ha a visszaadott szín is helyes volt. if (col.isvalid()) // egyébként az "Elvet" volt megnyomva _pencolor = col; qs = "background:" + col.name(); // az új stílus ui.btnpencolor->setstylesheet(qs); Ezzel a függvényt befejeztük: 11 Amíg egy modal dialógus be nem fejeződik az ablak, amelyik őt létrehozta nem elérhető.

14 Az ecset színének átírása ugyanígy történik. A gyakorlatban az egyes lépéseket összevonjuk így a teljes függvény az ecset szín kiválasztására a következő lesz: void GrafikaQTvel::on_btnBrushColor_clicked() QString qs = ui.btnbrushcolor->stylesheet(); QColor col = QColor(qs.mid(qs.indexOf(":"))); col = QColorDialog::getColor(col, this, "Válassz ecset színt!"); if (col.isvalid()) // egyébként az "Elvet" volt megnyomva _brushcolor = col; ui.btnbrushcolor->setstylesheet("background:" + col.name());

15 A GrafikaQtvel projekt aktuális fájljai main.cpp #include "grafikaqtvel.h" #include <QtWidgets/QApplication> int main(int argc, char *argv[]) QApplication a(argc, argv); GrafikaQTvel w; w.show(); return a.exec(); grafikaqtvel.h class GrafikaQTvel : public QMainWindow Q_OBJECT public: GrafikaQTvel(QWidget *parent = 0); ~GrafikaQTvel(); private: Ui::GrafikaQTvelClass ui; // közös paraméterek Toll és Ecset lap QColor _pencolor, _brushcolor; int _penwidth; int _penstyle; int _pencap; int _penjoin; int _brushstyle; private slots: void _SaveState(); void _ReadState(); void _SetupControls(); // közös paraméterek Toll és Ecset lap void _SetupCommon(); // t0bbi lap void _SetupDrawing(); void _SetupGraph(); void _SetupInteract(); void _SetupFractal(); void _SetupTransform(); void _SetupShapes(); void _SetupPictures(); void _SetupFilters();

16 ; void on_sbpenwidth_valuechanged(int); void on_cbpenstyle_currentindexchanged(int index); void on_cbpencap_currentindexchanged(int index); void on_cbpenjoin_currentindexchanged( int index); void on_cbbrushstyle_currentindexchanged(int index); void on_btnpencolor_clicked(); void on_btnbrushcolor_clicked(); #endif // GRAFIKAQTVEL_H grafikaqtvel.cpp #include "grafikaqtvel.h" #include <QSettings> #include <QColorDialog> GrafikaQTvel::GrafikaQTvel(QWidget *parent) : QMainWindow(parent) ui.setupui(this); _ReadState(); _SetupControls(); GrafikaQTvel::~GrafikaQTvel() _SaveState(); void GrafikaQTvel::_SaveState() QSettings settings("programozás 3", "GrafikaQtvel"); // A geometria settings.begingroup("ablak"); settings.setvalue("geometry", savegeometry()); settings.setvalue("state", savestate()); // Közös rajzolási beállítások: settings.begingroup("toll"); settings.setvalue("vastagság", _penwidth); settings.setvalue("szín", _pencolor); settings.setvalue("stílus", _penstyle); settings.setvalue("vonalvég", _pencap); settings.setvalue("kapcsolódás", _penjoin); settings.begingroup("ecset"); settings.setvalue("szín", _brushcolor);

17 settings.setvalue("stílus", _brushstyle); // Egyéb paraméterek elmentése void GrafikaQTvel::_ReadState() QSettings settings("programozás 3", "GrafikaQtvel"); // A geometria settings.begingroup("ablak"); restoregeometry(settings.value("geometry").tobytearray()); restorestate(settings.value("state").tobytearray()); settings.begingroup("toll"); _penwidth=settings.value("vastagság", 1).toInt(); //1: default // Mival a QColor nem QVariant _pencolor = settings.value("szín", 0).value<QColor>(); _penstyle = settings.value("stílus", 1).toInt(); // 1: Qt::SolidLine _pencap = settings.value("vonalvég", Qt::FlatCap).toInt(); _penjoin = settings.value("kapcsolódás", Qt::MiterJoin).toInt(); settings.begingroup("ecset"); _brushcolor = settings.value("szín", 0xFFFFFF).value<QColor>(); _brushstyle = settings.value("stílus", 0).toInt(); // 0: Qt::NoBrush // Egyéb paraméterek beolvasása void GrafikaQTvel::_SetupControls() _SetupCommon(); // közös paraméterek Toll és Ecset lap void GrafikaQTvel::_SetupCommon() ui.sbpenwidth->setvalue(_penwidth); ui.cbpenstyle->setcurrentindex(_penstyle); ui.cbpencap->setcurrentindex(_pencap); ui.cbpenjoin->setcurrentindex(_penjoin); ui.btnpencolor->setstylesheet("background:" + _pencolor.name()); ui.btnbrushcolor->setstylesheet("background:" + _brushcolor.name()); // t0bbi lap void GrafikaQTvel::_SetupDrawing() void GrafikaQTvel::_SetupGraph() void GrafikaQTvel::_SetupInteract() void GrafikaQTvel::_SetupFractal() void GrafikaQTvel::_SetupTransform()

18 void GrafikaQTvel::_SetupShapes() void GrafikaQTvel::_SetupPictures() void GrafikaQTvel::_SetupFilters() void GrafikaQTvel::on_sbPenWidth_valueChanged(int val) _penwidth = val; void GrafikaQTvel::on_cbPenStyle_currentIndexChanged(int index) _penstyle = index; void GrafikaQTvel::on_cbPenCap_currentIndexChanged(int index) _pencap = index; void GrafikaQTvel::on_cbPenJoin_currentIndexChanged(int index) _penjoin = index; void GrafikaQTvel::on_cbBrushStyle_currentIndexChanged(int index) _brushstyle = index; void GrafikaQTvel::on_btnPenColor_clicked() QString qs = ui.btnpencolor->stylesheet(); // a szöveg: background:#rrggbb alakú QColor col = QColor(qs.mid(qs.indexOf(":"))); col = QColorDialog::getColor(col, this, "Válassz toll színt!"); if (col.isvalid()) // egyébként az "Elvet" volt megnyomva _pencolor = col; ui.btnpencolor->setstylesheet("background:" + col.name()); void GrafikaQTvel::on_btnBrushColor_clicked() QString qs = ui.btnbrushcolor->stylesheet(); background:#rrggbb alakú QColor col = QColor(qs.mid(qs.indexOf(":"))); // a szöveg: col = QColorDialog::getColor(col, this, "Válassz ecset színt!"); if (col.isvalid()) // egyébként az "Elvet" volt megnyomva

19 _brushcolor = col; ui.btnbrushcolor->setstylesheet("background:" + col.name()); A következő feladat az egyes lapok programjának elkészítése. Ezt a következő dokumentumban (DrawingPage) írjuk le.

A jobboldalon a pnlright egy Stacked Widget Állítsuk be az első lapot és nevezzük el pnldraw-ra:

A jobboldalon a pnlright egy Stacked Widget Állítsuk be az első lapot és nevezzük el pnldraw-ra: A Rajzolás lap A rajzolás lap elemi rajzolási lehetőségek bemutatására szolgál. A rajzolás a jobboldali pnlright widget egyik lapjára rakott widgetre történik. A pnlright egy több lapot tartalmazó widget

Részletesebben

Színek 2013.10.20. 1

Színek 2013.10.20. 1 Színek 2013.10.20. 1 Képek osztályozása Álló vagy mozgó (animált) kép Fekete-fehér vagy színes kép 2013.10.20. 2 A színes kép Az emberi szem kb. 380-760 nm hullámhosszúságú fénytartományra érzékeny. (Ez

Részletesebben

A digitális képfeldolgozás alapjai

A digitális képfeldolgozás alapjai A digitális képfeldolgozás alapjai Digitális képfeldolgozás A digit szó jelentése szám. A digitális jelentése, számszerű. A digitális információ számokká alakított információt jelent. A számítógép a képi

Részletesebben

Bevezetés a színek elméletébe és a fényképezéssel kapcsolatos fogalmak

Bevezetés a színek elméletébe és a fényképezéssel kapcsolatos fogalmak Bevezetés a színek elméletébe és a fényképezéssel kapcsolatos fogalmak Az emberi színlátás Forrás: http://www.normankoren.com/color_management.html Részletes irodalom: Dr. Horváth András: A vizuális észlelés

Részletesebben

Bevezetés a színek elméletébe és a fényképezéssel kapcsolatos fogalmak

Bevezetés a színek elméletébe és a fényképezéssel kapcsolatos fogalmak Bevezetés a színek elméletébe és a fényképezéssel kapcsolatos fogalmak Az emberi színlátás Forrás: http://www.normankoren.com/color_management.html Részletes irodalom: Dr. Horváth András: A vizuális észlelés

Részletesebben

if(_param.antialias) painter.setrenderhint(qpainter::antialiasing, true);

if(_param.antialias) painter.setrenderhint(qpainter::antialiasing, true); Elmosás (antialias) struct RajzParameterek int penwidth = 1; Qt::PenStyle penstyle = Qt::SolidLine; Qt::PenCapStyle pencap = Qt::FlatCap; Qt::PenJoinStyle penjoin = Qt::MiterJoin; Qt::BrushStyle brushstyle

Részletesebben

A színérzetünk három összetevőre bontható:

A színérzetünk három összetevőre bontható: Színelméleti alapok Fény A fény nem más, mint egy elektromágneses sugárzás. Ennek a sugárzásnak egy meghatározott spektrumát képes a szemünk érzékelni, ezt nevezzük látható fénynek. Ez az intervallum személyenként

Részletesebben

bool _freehand = false; QPoint _lastpoint; // ebben a pontban volt az utolsó rajzolásnál az egérmutató

bool _freehand = false; QPoint _lastpoint; // ebben a pontban volt az utolsó rajzolásnál az egérmutató canvas.h #pragma once #include #include #include #include #include #include #include // terület kiválasztáshoz struct RajzParameterek

Részletesebben

Grafikus Qt programok írása segédeszközök nélkül

Grafikus Qt programok írása segédeszközök nélkül Grafikus Qt programok írása segédeszközök nélkül Grafikus felületű Qt programokat ahogy láttuk, készíthetünk egy egyszerű szövegszerkesztővel is, bár a Qt jó támogatást ad a grafikus felület grafikus tervezésére

Részletesebben

Számítógépes grafika. Készítette: Farkas Ildikó 2006.Január 12.

Számítógépes grafika. Készítette: Farkas Ildikó 2006.Január 12. Számítógépes grafika Készítette: Farkas Ildikó 2006.Január 12. Az emberi látás Jellegzetességei: az emberi látás térlátás A multimédia alkalmazások az emberi érzékszervek összetett használatára építenek.

Részletesebben

OPTIKA. Hullámoptika Színek, szem működése. Dr. Seres István

OPTIKA. Hullámoptika Színek, szem működése. Dr. Seres István OPTIKA Színek, szem működése Dr. Seres István : A fény elektromágneses hullám A fehér fény összetevői: Seres István 2 http://fft.szie.hu Színrendszerek: Additív színrendszer Seres István 3 http://fft.szie.hu

Részletesebben

Képszerkesztés elméleti feladatainak kérdései és válaszai

Képszerkesztés elméleti feladatainak kérdései és válaszai Képszerkesztés elméleti feladatainak kérdései és válaszai 1. A... egyedi alkotóelemek, amelyek együttesen formálnak egy képet. Helyettesítse be a pixelek paletták grafikák gammák Helyes válasz: pixelek

Részletesebben

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]

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] Additív színmodell: piros, zöld, kék keverése RGB hullámhossz:700nm, 546nm, 435nm Elektronikai eszközök alkalmazzák: kijelzők, kamerák 16 millió szín kódolható Szürke árnyalat: R=G=B OPENCV: BGR Mátrix

Részletesebben

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]

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] Additív színmodell: piros, zöld, kék keverése RGB hullámhossz:700nm, 546nm, 435nm Elektronikai eszközök alkalmazzák: kijelzők, kamerák 16 millió szín kódolható Szürke árnyalat: R=G=B OPENCV: BGR Mátrix

Részletesebben

GRAFIKA. elméleti tudnivalók

GRAFIKA. elméleti tudnivalók GRAFIKA elméleti tudnivalók 1. A digitális képalkotás - bevezető A "digitális" szó egyik jelentése: számjegyet használó. A digitális adatrögzítés mindent számmal próbál meg leírni. Mivel a természet végtelen,

Részletesebben

A színkezelés alapjai a GIMP programban

A színkezelés alapjai a GIMP programban A színkezelés alapjai a GIMP programban Alapok.Előtér és háttér színek.klikk, hogy alapbeállítás legyen ( d és x használata).hozzunk létre egy 640x400 pixeles képet! 4.Ecset eszköz választása 5.Ecset kiválasztása

Részletesebben

OPTIKA. Szín. Dr. Seres István

OPTIKA. Szín. Dr. Seres István OPTIKA Szín Dr. Seres István Additív színrendszer Seres István 2 http://fft.szie.hu RGB (vagy 24 Bit Color): Egy képpont a piros, a kék és a zöld 256-256-256 féle árnyalatából áll össze, összesen 16 millió

Részletesebben

Elemi alkalmazások fejlesztése III.

Elemi alkalmazások fejlesztése III. Elemi alkalmazások fejlesztése III. Grafikus felületű alkamazások készítése Bevezetés I. Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/qt4/eaf3/ Qt 4 2009 1 www.trolltech.com

Részletesebben

Programozás I. 5. Előadás: Függvények

Programozás I. 5. Előadás: Függvények Programozás I 5. Előadás: Függvények Függvény Egy alprogram Egy C program általában több kisméretű, könnyen értelmezhető függvényből áll Egy függvény megtalálható minden C programban: ez a main függvény

Részletesebben

Elemi alkalmazások fejlesztése III. A Qt assistant elindítása. Ajánlott ir odalom. A Qt assistant nyitó ablaka

Elemi alkalmazások fejlesztése III. A Qt assistant elindítása. Ajánlott ir odalom. A Qt assistant nyitó ablaka Elemi alkalmazások fejlesztése III Ajánlott ir odalom Egy ablakos alkalmazás készítése I. C++ / Qt felhasználásával Qt dokumentáció online: www.trolltech.com lokális változat: Kdevelop help vagy /usr/share/doc...

Részletesebben

C programozási nyelv Pointerek, tömbök, pointer aritmetika

C programozási nyelv Pointerek, tömbök, pointer aritmetika C programozási nyelv Pointerek, tömbök, pointer aritmetika Dr. Schuster György 2011. június 16. C programozási nyelv Pointerek, tömbök, pointer aritmetika 2011. június 16. 1 / 15 Pointerek (mutatók) Pointerek

Részletesebben

INFORMATIKA Felvételi teszt 1.

INFORMATIKA Felvételi teszt 1. INFORMATIKA Felvételi teszt 1. 1) Mi a szoftver? a) Szoftvernek nevezzük a számítógépet és minden kézzel megfogható tartozékát. b) Szoftvernek nevezzük a számítógépre írt programokat és az ezekhez mellékelt

Részletesebben

Képszerkesztés elméleti kérdések

Képszerkesztés elméleti kérdések Képszerkesztés elméleti kérdések 1. A... egyedi alkotó elemek, amelyek együttesen formálnak egy képet.(pixelek) a. Pixelek b. Paletták c. Grafikák d. Gammák 2. Az alábbiak közül melyik nem színmodell?

Részletesebben

Képek kódolása. Vektorgrafika. Bittérképes grafika (raszter/pixelgrafika)

Képek kódolása. Vektorgrafika. Bittérképes grafika (raszter/pixelgrafika) Képek kódolása A számítógépes grafika körébe soroljuk a grafikus objektumok (képek, rajzok, diagramok) előállítását, tárolását, a számítógép számára feldolgozható formává alakítását (képdigitalizálás),

Részletesebben

Tömörítés, kép ábrázolás A tömörítés célja: hogy információt kisebb helyen lehessen tárolni (ill. gyorsabban lehessen kommunikációs csatornán átvinni

Tömörítés, kép ábrázolás A tömörítés célja: hogy információt kisebb helyen lehessen tárolni (ill. gyorsabban lehessen kommunikációs csatornán átvinni Tömörítés, kép ábrázolás A tömörítés célja: hogy információt kisebb helyen lehessen tárolni (ill. gyorsabban lehessen kommunikációs csatornán átvinni A tömörítés lehet: veszteségmentes nincs információ

Részletesebben

Az importálás folyamata Felhasználói dokumentáció verzió 2.1.

Az importálás folyamata Felhasználói dokumentáció verzió 2.1. Az importálás folyamata Felhasználói dokumentáció verzió 2.1. Budapest, 2008. Változáskezelés Verzió Dátum Változás Pont Cím Oldal 2.1. 2008.01.17. A teljes dokumentáció megváltozott Kiadás: 2008.01.17.

Részletesebben

Színek Additív és szubtraktív színkezelés RGB - színtér

Színek Additív és szubtraktív színkezelés RGB - színtér 96 4 SZÍNEK 97 98 Színek 99 Additív és szubtraktív színkezelés 99 RGB - színtér 99 Az additív színtartomány 100 Színmeghatározás lehetõségei 101 HSB 101 A HEX (hexadecimális rendszer) 102 Alapszínek elõállítása

Részletesebben

Egységes és objektumközpontú adatbázis-kezelés (2. rész)

Egységes és objektumközpontú adatbázis-kezelés (2. rész) Egységes és objektumközpontú adatbázis-kezelés (2. rész) A folytatásában a bemutatjuk, hogyan kezelhetünk Qt rendszer alatt SQL sormutatót, és készíthetünk grafikus felületet programoknak a Qt Designer

Részletesebben

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Függvények. Dr. Bécsi Tamás 6. Előadás

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Függvények. Dr. Bécsi Tamás 6. Előadás Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Függvények Dr. Bécsi Tamás 6. Előadás Bevezetés Egy idő után az egyetlen main(){ függvénnyel megírt programunk túl nagy méretű lesz. Vannak

Részletesebben

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

Felhasználói leírás a DimNAV Server segédprogramhoz ( ) Felhasználói leírás a DimNAV Server segédprogramhoz (1.1.0.3) Tartalomjegyzék Bevezetés...3 1. Telepítés...3 2. Eltávolítás...4 Program használata...5 1. Kezdeti beállítások...5 2. Licenc megadása...6

Részletesebben

Képfájlok beolvasása és megjelenítése

Képfájlok beolvasása és megjelenítése Programozás 3 1 2016 Képfájlok beolvasása és megjelenítése Előzmények Eddig a Rajzolás, Grafika és az Interaktivitás lap programját készítettük el. Ennek a programnak néhány új funkcionalítással ellátott

Részletesebben

3. Osztályok II. Programozás II

3. Osztályok II. Programozás II 3. Osztályok II. Programozás II Bevezető feladat Írj egy Nevsor osztályt, amely legfeljebb adott mennyiségű nevet képes eltárolni. A maximálisan tárolható nevek számát a konstruktorban adjuk meg. Az osztályt

Részletesebben

SZÍNES KÉPEK FELDOLGOZÁSA

SZÍNES KÉPEK FELDOLGOZÁSA SZÍNES KÉPEK FELDOLGOZÁSA Színes képek feldolgozása Az emberi szem többezer színt képes megkülönböztetni, de csupán 20-30 különböző szürkeárnyalatot A színes kép feldolgozása két csoportba sorolható -

Részletesebben

Szabványok és számítási beállítások használata

Szabványok és számítási beállítások használata 1. Számú mérnöki kézikönyv Frissítve: 2016. Február Szabványok és számítási beállítások használata Program: Súlytámfal Fájl: Demo_manual_01.gtz Ez a fejezet a Beállítás kezelő helyes használatát mutatja

Részletesebben

1.1.1 Dátum és idő függvények

1.1.1 Dátum és idő függvények 1.1.1 Dátum és idő függvények Azt már tudjuk, hogy két dátum különbsége az eltelt napok számát adja meg, köszönhetően a dátum tárolási módjának az Excel-ben. Azt is tudjuk a korábbiakból, hogy a MA() függvény

Részletesebben

QT Grafika Az alap alkalmazás felhasználói felülete

QT Grafika Az alap alkalmazás felhasználói felülete QT Grafika Az alap alkalmazás felhasználói felülete Az alábbiakban létrehozzuk azt a GUI-t, amit a továbbiakban használni fogunk. Ennek során áttekintünk néhány hasznos GUI elemet és azok használatát.

Részletesebben

3. modul - Szövegszerkesztés

3. modul - Szövegszerkesztés 3. modul - Szövegszerkesztés Érvényes: 2009. február 1-jétől Az alábbiakban ismertetjük a 3. modul (Szövegszerkesztés) syllabusát, amely a gyakorlati vizsga alapját képezi. A modul célja Ezen a vizsgán

Részletesebben

Felhasználói leírás: STAHL Ex-Tool v1.0 rev101-2 -

Felhasználói leírás: STAHL Ex-Tool v1.0 rev101-2 - Felhasználói leírás: STAHL Ex-Tool v1.0 rev101-1 - Kezelési útmutató Tartalomjegyzék: Kezelési útmutató... 1 Tartalomjegyzék:... 1 Szoftver feladata:... 2 Szoftver telepítése:... 2 Els használat:... 3

Részletesebben

Megadja, hogy a képek színesben vagy fekete-fehérben legyenek-e kinyomtatva Megjegyzések:

Megadja, hogy a képek színesben vagy fekete-fehérben legyenek-e kinyomtatva Megjegyzések: Oldal: 1 / 5 Színminőség-útmutató Az útmutató segítségével a felhasználók áttekintést kapnak arról, hogyan használhatók fel a nyomtatón rendelkezésre álló műveletek a színes kimenet beállításához és testreszabásához.

Részletesebben

Elemi alkalmazások fejlesztése III.

Elemi alkalmazások fejlesztése III. Elemi alkalmazások fejlesztése III. Bevezetés Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/qt4/eaf3/ Qt 4 2007 1 A Qt assistant nyitó ablaka www.trolltech.com 2 Alkalmazás

Részletesebben

Tömörítés, csomagolás, kicsomagolás. Letöltve: lenartpeter.uw.hu

Tömörítés, csomagolás, kicsomagolás. Letöltve: lenartpeter.uw.hu Tömörítés, csomagolás, kicsomagolás Letöltve: lenartpeter.uw.hu Tömörítők Tömörítők kialakulásának főbb okai: - kis tárkapacitás - hálózaton továbbítandó adatok mérete nagy Tömörítés: olyan folyamat, mely

Részletesebben

A Java nyelv. Dialógus ablakok. Elek Tibor

A Java nyelv. Dialógus ablakok. Elek Tibor A Java nyelv Dialógus ablakok Elek Tibor Dialógus ablakok Szerepe: felbukkanó ablak (üzenet, input) Felépítése, használata majdnem ua., mint JFrame Tulajdonos: lehet tulajdonosa, amellyel együtt ikonizálódik,

Részletesebben

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

C programozás. 6 óra Függvények, függvényszerű makrók, globális és C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,

Részletesebben

Matlab Fuzzy Logic Toolbox

Matlab Fuzzy Logic Toolbox Matlab Fuzzy Logic Toolbox The Future looks Fuzzy Newsweek, May, 28, 1990. A fuzzy irányítási rendszerek vizsgálatára Windows alatt futó Matlab programcsomag szimulációs eszközeit és a Matlab-ra ráépülő

Részletesebben

HVK Adminisztrátori használati útmutató

HVK Adminisztrátori használati útmutató HVK Adminisztrátori használati útmutató Tartalom felöltés, Hírek karbantartása A www.mvfportal.hu oldalon a bejelentkezést követően a rendszer a felhasználó jogosultsági besorolásának megfelelő nyitó oldalra

Részletesebben

Thermo1 Graph. Felhasználói segédlet

Thermo1 Graph. Felhasználói segédlet Thermo1 Graph Felhasználói segédlet A Thermo Graph program a GIPEN Thermo eszközök Windows operációs rendszeren működő grafikus monitorozó programja. A program a telepítést követően azonnal használható.

Részletesebben

Számítógépes megjelenítő és képalkotó eszközök kalibrációja

Számítógépes megjelenítő és képalkotó eszközök kalibrációja Számítógépes megjelenítő és képalkotó eszközök kalibrációja Veszprém, 2013. április 24. Csuti Péter - Dr. Samu Krisztián Tartalom 1. Színinger megfeleltetés vs. Szín management 2. Számítógépes megjelenítő

Részletesebben

Első lépések. File/New. A mentés helyét érdemes módosítani! Pl. Dokumentumok. Fájlnév: pl. Proba

Első lépések. File/New. A mentés helyét érdemes módosítani! Pl. Dokumentumok. Fájlnév: pl. Proba Első lépések File/New A mentés helyét érdemes módosítani! Pl. Dokumentumok Fájlnév: pl. Proba (megj. ékezetes karaktereket nem használhatunk a fájlnévben) 1 Konvejor pálya elkészítése System/New Rendszer

Részletesebben

Számítógépes megjelenítő és képalkotó eszközök kalibrációja

Számítógépes megjelenítő és képalkotó eszközök kalibrációja Számítógépes megjelenítő és képalkotó eszközök kalibrációja Veszprém, 2014. május 7. Csuti Péter - Dr. Samu Krisztián Tartalom 1. Színinger megfeleltetés vs. Szín management 2. Számítógépes megjelenítő

Részletesebben

Aromo Szöveges értékelés normál tantárggyal

Aromo Szöveges értékelés normál tantárggyal Aromo Szöveges értékelés normál tantárggyal Aromo Iskolaadminisztrációs Szoftver Felhasználói kézikönyv -- Szöveges értékelés 1 Tartalomjegyzék Aromo Szöveges értékelés normál tantárggyal 1 Bevezetés 3

Részletesebben

Programozás II. 2. Dr. Iványi Péter

Programozás II. 2. Dr. Iványi Péter Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c

Részletesebben

OPTIKA. Hullámoptika Diszperzió, interferencia. Dr. Seres István

OPTIKA. Hullámoptika Diszperzió, interferencia. Dr. Seres István OPTIKA Diszperzió, interferencia Dr. Seres István : A fény elektromágneses hullám A fehér fény összetevői: Seres István 2 http://fft.szie.hu : A fény elektromágneses hullám: Diszperzió: Különböző hullámhosszúságú

Részletesebben

HASZNÁLATI ÚTMUTATÓ DOLGOZÓK IMPORTÁLÁSA KULCS BÉR PROGRAMBA AZ ONLINE MUNKAIDŐ NYILVÁNTARTÓ RENDSZERBŐL. Budapest, 2013. november 08.

HASZNÁLATI ÚTMUTATÓ DOLGOZÓK IMPORTÁLÁSA KULCS BÉR PROGRAMBA AZ ONLINE MUNKAIDŐ NYILVÁNTARTÓ RENDSZERBŐL. Budapest, 2013. november 08. HASZNÁLATI ÚTMUTATÓ DOLGOZÓK IMPORTÁLÁSA KULCS BÉR PROGRAMBA AZ ONLINE MUNKAIDŐ NYILVÁNTARTÓ RENDSZERBŐL Budapest, 2013. november 08. 1. CÉLKITŰZÉS A fő cél, hogy az OL Munkaidő Rendszerből kinyert jelenlét

Részletesebben

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

Képszerkesztés. Letölthető mintafeladatok gyakorláshoz: Minta teszt 1 Minta teszt 2. A modul célja Képszerkesztés Letölthető mintafeladatok gyakorláshoz: Minta teszt 1 Minta teszt 2 A modul célja Az ECDL Képszerkesztés alapfokú követelményrendszerben (Syllabus 1.0) a vizsgázónak értenie kell a digitális

Részletesebben

Programozási technológia

Programozási technológia Programozási technológia Swing GUI készítése NetBeans IDE segítségével Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Bevezető Eddig a grafikus felhasználói felületet kódból hoztuk létre kézzel. A mi

Részletesebben

Új Nemzedék Központ. EFOP pályázatok online beszámoló felülete. Felhasználói útmutató

Új Nemzedék Központ. EFOP pályázatok online beszámoló felülete. Felhasználói útmutató Új Nemzedék Központ EFOP pályázatok online beszámoló felülete Felhasználói útmutató Tartalom 1. Bejelentkezés... 2 1.1. Első bejelentkezés... 2 1.2. Elfelejtett jelszó... 3 2. Saját adatok... 4 3. Dokumentumok...

Részletesebben

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével

Részletesebben

Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:

Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni: Excel objektumok Az excelben az osztályokat úgynevezett class modulokként hozzuk létre. Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni: View-ba

Részletesebben

Segédanyag az iktatáshoz. Tartalomjegyzék

Segédanyag az  iktatáshoz. Tartalomjegyzék Segédanyag az email iktatáshoz Tartalomjegyzék I. Digitális, bejövő email iktatás... 2 II. Digitális, belső irányú email iktatása... 14 III. Kimenő email iktatása... 23 I. Digitális, bejövő email iktatás

Részletesebben

Osztályok. 4. gyakorlat

Osztályok. 4. gyakorlat Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum

Részletesebben

A webáruház kezdőlapján háromféle diavetítés beállítására van lehetőség:

A webáruház kezdőlapján háromféle diavetítés beállítására van lehetőség: KRYPTON sablon Részletes leírás a sablonhoz kapcsoló új beállításokról Diavetítés a kezdőlapon A webáruház kezdőlapján háromféle diavetítés beállítására van lehetőség: Képes diavetítés Termékes diavetítés

Részletesebben

Elemi alkalmazások fejlesztése III.

Elemi alkalmazások fejlesztése III. Elemi alkalmazások fejlesztése III. MDI alkalmazás II. (Számla) Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/qt4/eaf3/ Qt 4 2007 1 Számla felépítése fejléc tábla 2 Az alkalmazás

Részletesebben

Nagy HF u tmutato 2011/2012 II. fe le v

Nagy HF u tmutato 2011/2012 II. fe le v A programozás alapjai 1. BMEVIHIA106 Nagy HF u tmutato 2011/2012 II. fe le v Analízis (Nyelv független) 1. A Házi feladat téma szöveges leírása. 2. A feladat résztvevőinek azonosítása 3. A résztvevők tulajdonságai

Részletesebben

A függvények névvel rendelkező utasításcsoportok, melyeknek információkat adhatunk át, és van egy visszatérési értékük.

A függvények névvel rendelkező utasításcsoportok, melyeknek információkat adhatunk át, és van egy visszatérési értékük. Függvények A függvények névvel rendelkező utasításcsoportok, melyeknek információkat adhatunk át, és van egy visszatérési értékük. Mint egy dzsinn: Hogyan is "használunk" egy dzsinnt? megszólítjuk megmondjuk,

Részletesebben

Navigációs GPS adatok kezelése QGIS programmal (1.4 verzió) Összeállította dr. Siki Zoltán

Navigációs GPS adatok kezelése QGIS programmal (1.4 verzió) Összeállította dr. Siki Zoltán Navigációs GPS adatok kezelése QGIS programmal (1.4 verzió) Összeállította dr. Siki Zoltán A QGIS program GPS eszközök modulja segítségével kétirányú kommunikációt folytathatunk a navigációs GPS vevőnkkel.

Részletesebben

Weblap készítése. Fapados módszer

Weblap készítése. Fapados módszer Weblap készítése Fapados módszer A számítógép beállítása Ha a kiterjesztések nem látszanak, akkor a következőt kell tennünk: A számítógép beállítása Ha a kiterjesztések nem látszanak, akkor a következőt

Részletesebben

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

3D-s számítógépes geometria és alakzatrekonstrukció 3D-s számítógépes geometria és alakzatrekonstrukció 3a. Tesztkörnyezet I http://cg.iit.bme.hu/portal/node/312 https://portal.vik.bme.hu/kepzes/targyak/viiima01 Dr. Várady Tamás, Salvi Péter BME, Villamosmérnöki

Részletesebben

B8. A CIE 1931 SZÍNINGER-MÉRŐ RENDSZER ISMERTETÉSE;

B8. A CIE 1931 SZÍNINGER-MÉRŐ RENDSZER ISMERTETÉSE; B8. A CIE 1931 SZÍNINGER-MÉRŐ RENDSZER ISMERTETÉSE; A CIE DIAGRAM, A SZÍNEK ÁBRÁZOLÁSA A DIAGRAMBAN;A NYOMTATÁSBAN REPRODUKÁLHATÓ SZÍNTARTOMÁNY SZÍNRENDSZEREK A színrendszerek kialakításának célja: a színek

Részletesebben

Bevezetés a programozásba Előadás: Tagfüggvények, osztály, objektum

Bevezetés a programozásba Előadás: Tagfüggvények, osztály, objektum Bevezetés a programozásba 2 1. Előadás: Tagfüggvények, osztály, objektum Ismétlés int main() { string s; s; s= bla ; cout

Részletesebben

A RÓMAI SZERZÕDÉSEK 50. ÉVFORDULÓJA ALKALMÁBÓL

A RÓMAI SZERZÕDÉSEK 50. ÉVFORDULÓJA ALKALMÁBÓL A RÓMAI SZERZÕDÉSEK 50. ÉVFORDULÓJA ALKALMÁBÓL GRAFIKAI ÚTMUTATÓ Logó A logó A logó mérete A logó háttere (üresen maradó keret) A logó színei A logó különbözõ nyelvi változatai Kerülendõ Tipográfia Színek

Részletesebben

Térképek jelentése és elemzése

Térképek jelentése és elemzése Térképek jelentése és elemzése Ontológiák Az ontológiák termekre, csomópontokra (koncepciókra) és összeköttetésekre (kapcsolatokra) vonatkozó listák, amik importálhatóak és hozzáadhatóak a VUE térképekhez,

Részletesebben

EDInet Connector telepítési segédlet

EDInet Connector telepítési segédlet EDInet Connector telepítési segédlet A cégünk által küldött e-mail-ben található linkre kattintva, a következő weboldal jelenik meg a böngészőben: Az EdinetConnectorInstall szövegre klikkelve(a képen pirossal

Részletesebben

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.

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. A feladat megoldásához a Sharepoint Designer 2007 programot használjuk, mely ingyenesen letölthető a Microsoft weboldaláról. Az érettségi aktuális szoftverlistája alapján az Expression Web 2, az Expression

Részletesebben

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák A Portál rendszer felületének általános bemutatása Felhasználói útmutató Támogatott böngészők Internet Explorer 9+ Firefox (legújabb verzió) Chrome (legújabb verzió) Felületek felépítése Információs kártyák

Részletesebben

A programozás alapjai 1 Rekurzió

A programozás alapjai 1 Rekurzió A programozás alapjai Rekurzió. előadás Híradástechnikai Tanszék - preorder (gyökér bal gyerek jobb gyerek) mentés - visszaállítás - inorder (bal gyerek gyökér jobb gyerek) rendezés 4 5 6 4 6 7 5 7 - posztorder

Részletesebben

Útmutató szivárgásvizsgálat-köteles berendezéseket érintő csoportos műveletekhez

Útmutató szivárgásvizsgálat-köteles berendezéseket érintő csoportos műveletekhez Útmutató szivárgásvizsgálat-köteles berendezéseket érintő csoportos műveletekhez A szivárgásvizsgálat-köteles berendezéseket érintő csoportos műveletek lehetővé teszik a berendezéstulajdonosok, üzemeltetők

Részletesebben

Swing GUI készítése NetBeans IDE segítségével

Swing GUI készítése NetBeans IDE segítségével Programozási Swing e NetBeans IDE segítségével Informatikai Kar Eötvös Loránd Tudományegyetem 1 Tartalom 1 2 2 Eddig a grafikus felhasználói felületet kódból hoztuk létre kézzel. A mi feladatunk volt az

Részletesebben

Programozási nyelvek II. JAVA

Programozási nyelvek II. JAVA Programozási nyelvek II. JAVA 8. gyakorlat 2017. november 6-10. Általános tudnivalók A feladatmegoldás során fontos betartani az elnevezésekre és típusokra vonatkozó megszorításokat, illetve a szövegek

Részletesebben

Elemi alkalmazások fejlesztése III

Elemi alkalmazások fejlesztése III Elemi alkalmazások fejlesztése III Egy ablakos alkalmazás készítése I. C++ / Qt felhasználásával készítette: Szabóné Nacsa Rozália 1 Ajánlott irodalom Qt dokumentáció online: www.trolltech.com lokális

Részletesebben

A beszámoló készítés lépéseinek bemutatása egy mintacég Egyszerű Kft. segítségével

A beszámoló készítés lépéseinek bemutatása egy mintacég Egyszerű Kft. segítségével A beszámoló készítés lépéseinek bemutatása egy mintacég Egyszerű Kft. segítségével 1. A vizsgált cég állományának létrehozása (II.1.2) Egyszerű Kft. 2010. évi állományának létrehozása: DigitAudit főmenü

Részletesebben

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

Tájékoztató. Használható segédeszköz: - A 35/2016. (VIII. 31.) NFM rendelet szakmai és vizsgakövetelménye alapján. Szakképesítés, azonosító száma és megnevezése 54 481 06 Informatikai rendszerüzemeltető Tájékoztató A vizsgázó az első lapra írja

Részletesebben

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport 10-es Keressünk egy egész számokat tartalmazó négyzetes mátrixban olyan oszlopot, ahol a főátló alatti elemek mind nullák! Megolda si terv: Specifika cio : A = (mat: Z n m,ind: N, l: L) Ef =(mat = mat`)

Részletesebben

3. Ezután a jobb oldali képernyő részen megjelenik az adatbázistábla, melynek először a rövid nevét adjuk meg, pl.: demo_tabla

3. Ezután a jobb oldali képernyő részen megjelenik az adatbázistábla, melynek először a rövid nevét adjuk meg, pl.: demo_tabla 1. Az adatbázistábla létrehozása a, Ha még nem hoztunk létre egy adatbázistáblát sem, akkor a jobb egérrel a DDIC-objekt. könyvtárra kattintva, majd a Létrehozás és az Adatbázistábla menüpontokat választva

Részletesebben

SafeQ nyomtatató telepítése

SafeQ nyomtatató telepítése SafeQ nyomtatató telepítése 1. Rendszerkövetelmények Ha a számítógép az EIK tartományba van léptetve és a bejelentkezett felhasználó szintén tartományi felhasználó, nincs szükség a SafeQ kliens telepítésére.

Részletesebben

Alkalmazások fejlesztése III. Qt 4 /C++ alapú grafikus alkalmazás Bevezetés I.

Alkalmazások fejlesztése III. Qt 4 /C++ alapú grafikus alkalmazás Bevezetés I. Tartalomjegyzék Alkalmazás készítés Qt osztályokkal...2 A qmake eszköz...2 Hello Qt (hello)...2 Objektumok közötti kommunikáció (quit)...3 Fordítás/futtatás...4 Grafikus felület létrehozása, vezérlők szinkronizálása

Részletesebben

VARIO Face 2.0 Felhasználói kézikönyv

VARIO Face 2.0 Felhasználói kézikönyv VARIO Face 2.0 Felhasználói kézikönyv A kézikönyv használata Mielőtt elindítaná és használná a szoftvert kérjük olvassa el figyelmesen a felhasználói kézikönyvet! A dokumentum nem sokszorosítható illetve

Részletesebben

Az ErdaGIS térinformatikai keretrendszer

Az ErdaGIS térinformatikai keretrendszer Az ErdaGIS térinformatikai keretrendszer Két évtized tapasztalatát sűrítettük ErdaGIS térinformatikai keretrendszerünkbe, mely moduláris felépítésével széleskörű felhasználói réteget céloz, és felépítését

Részletesebben

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

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás Számítástechnika II. BMEKOKAA153 4. Előadás Dr. Bécsi Tamás A RadioButton komponens Tulajdonságok: bool Checked Állapotjelző két állapot esetén: (true: bejelölve,false: nem bejelölve) Események: Esemény

Részletesebben

Táblázatok kezelése. 1. ábra Táblázat kezelése menüből

Táblázatok kezelése. 1. ábra Táblázat kezelése menüből Táblázat beszúrása, létrehozása A táblázatok készítésének igénye már a korai szövegszerkesztőkben felmerült, de ezekben nem sok lehetőség állt rendelkezésre. A mai szövegszerkesztőket már kiegészítették

Részletesebben

Cikktípusok készítése a Xarayában

Cikktípusok készítése a Xarayában Cikktípusok készítése a Xarayában A Xaraya legfontosabb tulajdonsága az egyedi cikktípusok egyszerű készítésének lehetősége. Ezzel kiküszöbölhető egyedi modulok készítése, hiszen néhány kattintással tetszőleges

Részletesebben

é rtésí té sék szű ré sé

é rtésí té sék szű ré sé E-mail é rtésí té sék szű ré sé Szűrési beállítások 2019. 01. 03. Tartalom E-mail értesítések szűrése...2 Gyakorlati példák szűrési feltételek megadására...2 Szűrés beállítása a levelezőrendszerben...2

Részletesebben

PÉNZTÁR FELHASZNÁLÓI KÉZIKÖNYV

PÉNZTÁR FELHASZNÁLÓI KÉZIKÖNYV PÉNZTÁR FELHASZNÁLÓI KÉZIKÖNYV 4S SOFTWARE KFT 3523 MISKOLC PF.: 71 4ssoftware@4ssoftware.hu Preisler Ferenc Robonyi Teréz TEL.: 46/324-643 20/360-8478 20/980-8864 1. A PROGRAM TELEPÍTÉSE ÉS INDÍTÁSA Lehetőség

Részletesebben

1.4 fejezet. RGB színrendszerek

1.4 fejezet. RGB színrendszerek 1 1.4 fejezet. RGB színrendszerek 1. sz. ábra. Számítógépes monitorról készült nagyítás Az RGB színrendszer a katódsugárcso képernyo összeadó színképzéséhez igazodik, amely a vörös, zöld és kék színeket

Részletesebben

POSZEIDON dokumentáció (1.2)

POSZEIDON dokumentáció (1.2) POSZEIDON dokumentáció (1.2) Bevezetés a Poszeidon rendszer használatába I. TELEPÍTÉS Poszeidon alkalmazás letölthető: www.sze.hu/poszeidon/poszeidon.exe Lépések: FUTTATÁS / (FUTTATÁS) / TOVÁBB / TOVÁBB

Részletesebben

TÍPUSDOKUMENTUMOK KÉSZÍTÉSE

TÍPUSDOKUMENTUMOK KÉSZÍTÉSE TÍPUSDOKUMENTUMOK KÉSZÍTÉSE A Word sok előre elkészített típus dokumentummal rendelkezik. Ezek használatához válasszuk a Fájl menü Új dokumentum menüpontját. Itt több különböző kategóriába rendezve találhatjuk

Részletesebben

CSS3 alapismeretek. Bevezetés a CSS-be. Mi is az a CSS? Alkalmazási formái, szintaxisa

CSS3 alapismeretek. Bevezetés a CSS-be. Mi is az a CSS? Alkalmazási formái, szintaxisa CSS3 alapismeretek Bevezetés a CSS-be Mi is az a CSS? A CSS az angol Cascading Style Sheets kifejezés rövidítése, ami magyarul talán egymásba ágyazott stíluslapoknak lehetne fordítani. Hasonlóan a HTML-hez,

Részletesebben

91. MP költséghelyek felvitele, 94. MP mozgástípus konfigurálása

91. MP költséghelyek felvitele, 94. MP mozgástípus konfigurálása 91. MP költséghelyek felvitele, 94. MP mozgástípus konfigurálása 91. MP - költséghelyek felvitele Ez a menüpont arra alkalmas, hogy új költséghelyeket egyesével vigyünk fel. A menüpontba belépve az alábbi

Részletesebben

6. Alkalom. Kép ClipArt WordArt Szimbólum Körlevél. K é p

6. Alkalom. Kép ClipArt WordArt Szimbólum Körlevél. K é p 6. Alkalom Kép ClipArt WordArt Szimbólum Körlevél K é p Képet már létezı képállományból vagy a Word beépített CLIPART képtárgyőjteményébıl illeszthetünk be. Képállományból kép beillesztése A szövegkurzort

Részletesebben

Szöveges fájlok szerkesztése Jegyzettömb használata

Szöveges fájlok szerkesztése Jegyzettömb használata Szöveges fájlok szerkesztése A Jegyzettömb csak szöveges dokumentum (TXT fájl) szerkesztésére alkalmas (Editor). Ez azt jelenti, hogy a begépelt szöveget nem tudjuk kedvünk szerint megformázni, vagyis

Részletesebben