grafikus komponens fájlt (timage), a Delphi, alkatrészek Delphi, Delphi forrás

dolgozni grafikus fájlok komponens (Timage)

grafikus komponens fájlt (timage), a Delphi, alkatrészek Delphi, Delphi forrás
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.

grafikus komponens fájlt (timage), a Delphi, alkatrészek Delphi, Delphi forrás

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:

grafikus komponens fájlt (timage), a Delphi, alkatrészek Delphi, Delphi forrás

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.

grafikus komponens fájlt (timage), a Delphi, alkatrészek Delphi, Delphi forrás

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;

Segítség a projekt! Küld erről az oldalról:

Kapcsolódó cikkek