HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Bmp képeket megjelenítő komponens nagyítási lehetőségekkel


Példaprogram letöltése

8566 bájt

Készítünk egy komponenst, amely segítségével BMP képeket jeleníthetünk meg. A megjelenítendő képet szerkesztési és futási időben is nagyíthatjuk pozitív és negatív irányban. A nagyításhoz két metódus is a rendelkezésünkre áll.

A mellékelt példaprogram megnyitása előtt a ZoomImage.pas-ban lévő komponenst telepítenie kell a Delphi alá. Ehhez válassza a Component - Install Component menüpontot.
A komponensbe betölthetünk egy BMP képet a Picture tulajdonságon keresztül, ugyanúgy, mint ha egy Image komponenst használnánk. A ZoomPercent tulajdonságban adhatjuk meg a nagyítás mértékét, százalékban. A 100-as érték a kép eredeti méretét, 50-es érték az eredeti méret felét, a 200-as érték pedig kétszeres nagyítást jelent.
A nagyítás csak akkor lép érvénybe, ha a ZoomEnabled értékét igazra állítjuk. Ha bármilyen nagyítás esetén a ZoomEnabled értékét hamisra állítjuk, a kép visszaáll eredeti méretére.
A komponens mérete mindig felveszi a megjelenítendő kép méretét.
A nagyítás és kicsinyítés használatához két metódus is a rendelkezésünkre áll.
procedure ZoomIn(Percent: Integer);
procedure ZoomOut(Percent: Integer);
A Percent paraméterben kell megadnunk a változás mértékét, százalékban.
Komponensünket a TGraphicControl osztályból származtatjuk.
A kép megjelenítéséhez a Paint metódust kell felülírnunk. Két eset lehetséges, az egyik a nagyításmentes, a másik, amikor nagyításra kerül sor.
Ha nagyításról van szó, akkor a ZoomPercent tulajdonság értékének megfelelően ki kell számolnunk a megjelenítendő kép, és a komponens új Width és Height tulajdonságait.
NewWidth:=Round(FPicture.Bitmap.Width*FZoomPercent/100);
NewHeight:=Round(FPicture.Bitmap.Height*FZoomPercent/100);
A megjelenítendő képet a Canvas osztály StretchDraw metódusa segítségével az új méretekre szoríthatjuk.
Canvas.StretchDraw(Rect(0,0,NewWidth,NewHeight),FPicture.Graphic);
Ha nincs nagyítás, akkor a képet eredeti méretében kell megjeleníteni. Ezt az FPicture objektum Bitmap tulajdonságából határozhatjuk meg.
Width:=FPicture.Bitmap.Width;
Height:=FPicture.Bitmap.Height;
A kirajzoláshoz itt is a Canvas osztály StretchDraw metódusát használjuk.

Cikksorozat

#IDKategóriaCikk címeSorozat
1621DelphiMySQL szerverek elérése Delphi-ből1. rész
1632DelphiMySQL szerverek elérése Delphi-ből2. rész
1641DelphiMySQL szerverek elérése Delphi-ből3. rész
1649DelphiMySQL szerverek elérése Delphi-ből4. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 55. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |