grafikus komponens fájlt (timage), a Delphi, alkatrészek Delphi, Delphi forrás
dolgozni grafikus fájlok komponens (Timage)
Ez az összetevő megtalálható További lapjának a komponens palettán. Ugyanakkor ez nem befolyásolja a többi lehetőséget, mert akkor nem kell-ha kész találkozni a grafika. Most, hogy már lefedett összes req-dimoe, ideje szétszedni a komponens tulajdonságait és módszereket.Timage komponens meglehetősen általános és képes megjeleníteni a képeket különböző formátumokban. De a kezdeti telepítés akkor csak betölteni a fájlokat BMP, JPG, JPEG vagy WMF. Lássuk, hogyan kell ezt csinálni. Sauze, hogy egy új alkalmazást, és telepítse azt a formáját egy gombot, és Timage alkatrész Kiegészítő lapok.
Most tekercs alkotnak openPictureDialog alkatrész párbeszédablakok fülre. Ez a komponens célja a GRT-térképet a képernyőn egy szabványos ablaknyílás kép. Szükségünk is-NMS kell egy gombot megnyomja, amikor meg fog jelenni egy ablak nyitó autó-roughcast majd töltse ki.
Ábra. fent látható az alakja a jövőbeni program. De eddig csak kész formában. Ahhoz, hogy egy teljes értékű programot, meg kell írni boot kódot képet. A gomb lenyomásával a Kép megnyitása levelet nyomon vezető kód:
eljárás TForm1.ButtonlClick (Sender: TObject);
kezdődik
ha OpenPictureDialogl.Execute majd Imagel.Picture.LoadFromFile (OpenPictureDialogl.FileName);
végén;
Az első sorban a szabványos ablaknyílás kép. Ehhez egyszerűen hívja a módszer végrehajtása OpenPictureDialogl komponens t. E. írása OpenPictureDialogl.Execute. Ez a módszer visszaadja egy logikai érték.
Ha ez igaz, akkor a felhasználó kiválaszt egy fájlt, vagy kattintott törlés. Ezért én ellenőrizzük a hívás eredményeit az Execute eljárás segítségével:
ha OpenPictureDialogl.Execute majd
Ha kiválasztotta a fájlt, akkor a következő kódot:
Nézzük a szerkezet részei. A imagel alkatrész van egy kép tulajdonság. Ez a tulajdonság egy objektum típusát (és ennélfogva azok tulajdonságait és módszerek) TPicture. Ez a létesítmény célja, hogy működjön együtt a képeket, szinte bármilyen típusú. Ő elég sokoldalú, mint látni fogjuk, nagyon hamar.
A kép letöltéséhez használjuk LoadFromFile módszer (letöltés car-Csing a fájl) a tárgy képe. Mivel az egyetlen paramétere ennek metoxi-így meg kell adnia egy fájlnevet vagy teljes elérési utat, ha a kép locat-ditsya nem ugyanabban a könyvtárban, mint maga a program.
Mi választjuk ki a fájl nevét egy standard windows, és a teljes elérési utat a fájl a tulajdon fájlnév OpenPictureDialogl komponenst.
Minden nagyon egyszerű. Most próbálja meg futtatni a programot, és nézd meg az eredményt a munkáját. A fájlmegnyitási nézd meg, milyen típusú fájlokat lehet megnyitni. Attól függően, hogy a változat és a telepített konfigurációt coli tiszteli típusok lehetnek 1-3 - BMP, ICO és a WMF.
Tanítsuk meg a program működik a JPEG formátumban. Ne aggódj, ez nem nehéz, és nem kell, hogy írjon egy komplex képet dekompressziós algoritmus.
A Delphi már mindent, amire szüksége van, akkor csak meg kell csatlakoztatni a projekthez.
A kezdéshez navigáljon a uses a projekt, és csatlakozzon jpeg modult. Ez a modul ismerteti mindent meg kell dolgozni a formátum JPEG-CIÓ.
Elvileg ez elég. Továbbra is csak azért, hogy a fájlmegnyitási ablak megjelenítéséhez a szűrőt a fájltípust. Ehhez válasszuk OpenPictureDialogl alkatrészek és kattintson duplán a tulajdonság szűrő. Ne-EDS megnyílik a szűrő beállítások ablak, ábra:
Ebben az ablakban van néhány mögötti sorok kiegészíti. Az ábra csak három. A negyedik sor (az első üres sort) levelet „JPEG fájlok” az első oszlopban, és a második oszlop írja: „* .jpg”. Akkor nyomja meg az OK gombot, és indítsa el a programot. Most az ablak megnyitása a kép fájlt, akkor válassza ki a típus .jpg és nyissa meg a fájlt. Azt is betölthetjük imagel alkatrész, még annak ellenére, hogy összetett tömörítési algoritmus és más típusú adatok tárolására.
Most megpróbáljuk frissíteni a példáját, és hozzáférést biztosít a tartalmát a képet. Ahhoz, hogy ezt elérjük, akkor másolja át a képeket a fóliát. Hogyan? Most tanulni.
Hozzon létre egy felvezető OnPaint esemény a fő formája egy már letelepedett-mi példát. A FormPaint eljárás, írja be a következő:
És ebben a folyamatban, ahol kép betöltése, meg kell adni a végén a hívás újrarajzolás módszer, hogy a nyitás után a képfájl formájában készül újra, és felajánlotta
Most próbálja meg futtatni a programot, és töltse le a BMP fájlt. Látnia kell egy eredmény hasonló ábrán látható. 12.13. A bal oldalon van az a kép kép kép1, és a jobb oldalon teszünk egy példányát az űrlapot.
Vevő FIELD nyilvánították TRect, amely jelen TRect = (Bal, Fel, Jobb, Bottom: Egész szám). Tekintettel arra, hogy ezek a zárójelben találkoztunk korábban. Ez ugyanaz a forrás régióban. Mivel a festmény-ki továbbított Bitmap FROM Timage.
Ennek átlátszó színű, szoktuk a színe a pixel a helyzet [1, 1] Timage kép. Ezt mutatja az eredménye:
Próbáljunk írni egy kicsit másképp:
TImage1. Ego_kartinka. Bitmap. Vásznon. Pixel [1_po_osi_H, 1_po osi_U]
Felhívjuk figyelmét, hogy ha most megpróbál megnyitni egy nem BMP-fájlt, a program nem jelenik meg semmi. Ez annak a ténynek köszönhető, hogy csak VMR- fájlokat tárolják a kép Bitmap tulajdon, az összes többi tárolja a tulajdon vagy a grafikus Metafile (vektoros formátumban). Így elérhető
JPEG-képet, hogy ez lehetetlen. De akkor a Draw módszer. Ehhez be kell állítani a OnPaint eseménykezelő:
eljárás TForm1.FormPaint (Sender: TObj ECT);
kezdődik
Canvas.Draw (200, 16, Imagel.Picture.Graphic);
végén;
Itt már nem készít Bitmap, grafikus, így a program helyesen fog működni.
Vektor fájlok, például WMF formátumban tárolja az adatokat a Metafile tulajdon. Jeleníteni, a felvezető OnPaint esemény lenne:
eljárás TForm1.FormPaint (Sender: TObject);
kezdődik
Canvas.Draw (200, 16, Image1.Picture.Metafile);
végén;