Delphi - A TImage komponens

forráskód letöltése
Egy képet többféleképpen is megjeleníthetünk egy Form-on, de a legegyszerűbb megoldás erre az Image komponens használata. Az Image komponens a legtöbb esetben jól használható, minden beállítható szerkesztési időben, és nem kell a kép kirajzolását programból megoldanunk. A komponens képes a képet tetszőleges méretben megjeleníteni, és ha arra van szükség, akkor átlátszóvá is tehetjük.
Canvas
Osztály: TImage
property Canvas: TCanvas;
Az Image komponens azon kívül, hogy a Picture property-ben megadott képet megjeleníti, rendelkezik egy Canvas objektummal is, melynek segítségével rajzolhatunk a komponensre. A Canvas property a Picture property Bitmap objektumának Canvas objektumát adja vissza, tehát ahhoz, hogy használhassuk, egy bitképet mindenképpen meg kell adnunk a Picture property-ben.
Center
Osztály: TImage
property Center: Boolean;
A logikai típusú property-vel a képet a komponens közepére igazíthatjuk, ha igaz értéket adunk meg. Ha a Proportional property értéke igaz, és a kép nagyobb, mint a komponens, akkor a kép méretét lekicsinyíti akkorára, hogy beleférjen a komponensbe.
IncrementalDisplay
Osztály: TImage
property IncrementalDisplay: Boolean;
Olyan képeknél használható, melyeknél a betöltés több számítást igényel, és így lassúbb is. Az OnProgress eseménnyel együtt használható.
Picture
Osztály: TImage
property Picture: TPicture;
A megjelenítendő képet ebben a property-ben adhatjuk meg. A képfájl típusa lehet JPG, BMP, ICO, EMF és WMF.
Proportional
Osztály: TImage
property Proportional: Boolean;
A property jelentése: „arányos”. Elsősorban akkor van jelentősége, amikor a Stretch property értéke igaz, és a kép a komponens méretére van nyújtva. Ha a Proportional property értéke igaz, akkor a nyújtás az oldalarányok megtartásával történik, így a kép nem torzul. A Proportional property-nek szerepe van még a Center property igaz értékénél is, amikor a kép nagyobb, mint a komponens (lásd. Center property).
Stretch
Osztály: TImage
property Stretch: Boolean;
Ha a property értéke igaz, akkor a képet a komponens méretére nyújtja. Az átméretezéskor a Proportional property értékét is figyelembe veszi.
Transparent
Osztály: TImage
property Transparent: Boolean;
A kép átlátszóságát állíthatjuk be ezzel a property-vel. Ha az értéke igaz, akkor a kép bal alsó pixelével megegyező színű pixelek átlátszóak lesznek, vagyis nem jelennek meg.
OnProgress
Osztály: TImage
property OnProgress: TProgressEvent;
Olyan képek betöltésénél jön létre, melyeknél a feldolgozási idő nagy. Ekkor az eljárás paramétereiből megtudhatjuk, hogy a feldolgozás melyik szakaszánál tart. A paraméterek a következők:
A Stage paraméterből megtudhatjuk, hogy a feldolgozás melyik szakaszban jár. Értékei az alábbiak lehetnek:
  • psStarting: a feldolgozás megkezdődött;
  • psRunning: a feldolgozás folyamatban van;
  • psEnding: a feldolgozás befejeződött.
A PercentDone paraméterből kiolvashatjuk, hogy a feldolgozás megközelítőleg hány százaléknál tart. A RedrawNow paraméter azt mondja meg, hogy a kép jelenlegi állapotában megjeleníthető-e. Az R paraméterben megkapjuk egy TRect típusú struktúrában, hogy a kép melyik területe változott. Az Msg paraméterben az éppen folyamatban lévő műveletet kapjuk meg, sztring formában (pl. „Loading”, „Storing”), de lehet üres sztring is.