C# - DrawIcon, DrawIconUnstretched függvény

Graphics osztály 5. rész

forráskód letöltése
Ha adott egy ikon állomány (*.ico) és az ebben lévő képet szeretnénk megjeleníteni, akkor ehhez a DrawIcon, illetve DrawIconUnstretched függvényeket használhatjuk fel. Mellékelt példából megtudhatjuk ennek részleteit.
Mind a két függvény arra hivatott, hogy ikonokat jelenítsen meg, rajzoljon ki. A fő különbség e két függvény között az az, hogy a DrawIcon tetszőleges méretre nagyítva/kicsinyítve rajzol, míg a DrawIconUnstretched csak az eredeti méretben tudja kirajzolni. Mivel a DrawIconUnstretched függvénynek nem feladata a méretezés, így a kirajzolás gyorsabban történik meg, mint a DrawIcon függvényt használva. Ez a különbség azonban nem számottevő, csak számítógéppel lehetne mérni.
DrawIcon
Osztály: System.Drawing.Graphics
public void DrawIcon(
Icon icon,
Rectangle targetRect
);
Egy tetszőleges ikon kirajzolását végzi el, tetszőleges méretre nagyítva/kicsinyítve.
Paraméterek
Icon icon
A kirajzolandó ikont egy Icon osztály típusban kell megadnunk.
Rectangle targetRect
A targetRect paraméter határozza meg, hogy kirajzolás hova és mekkora méretben történjen.
DrawIcon
Osztály: System.Drawing.Graphics
public void DrawIcon(
Icon icon,
int x,
int y
);
Egy tetszőleges ikon kirajzolását végzi el, tetszőleges méretre nagyítva/kicsinyítve.
Paraméterek
Icon icon
A kirajzolandó ikont egy Icon osztály típusban kell megadnunk.
int x
A kirajzolás X koordinátája.
int y
A kirajzolás Y koordinátája.
Megjegyzés
A DrawIcon e változata mindig eredeti méretben rajzolja ki az ikont.
DrawIconUnstretched
Osztály: System.Drawing.Graphics
public void DrawIconUnstretched(
Icon icon,
Rectangle targetRect
);
Egy tetszőleges ikon kirajzolását végzi el, eredeti méretben.
Paraméterek
Icon icon
A kirajzolandó ikont egy Icon osztály típusban kell megadnunk.
Rectangle targetRect
A targetRect paraméter határozza meg, hogy kirajzolás hova történjen.
Megjegyzés
A targetRect paraméternek csak a Top és Left property-e kerül felhasználásra.
A példaprogram
A mellékelt példában láthatjuk mind a háromféle ikon rajzoló függvényét használat közben. A kirajzolandó ikonhoz egy Icon osztályt kell létrehoznunk, melybe betöltünk egy ICO állományt.
    private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
    {
      Graphics g = e.Graphics;
      Icon icon = new Icon(Application.StartupPath+"\\CTRUSA.ICO");
      g.DrawIcon(icon, 10, 10);
      Rectangle r1 = new Rectangle(10, 60, 160, 160);
      g.DrawIcon(icon, r1);      
      g.DrawRectangle(new Pen(Color.Gray, 1), r1);
      Rectangle r2 = new Rectangle(180, 60, 160, 160);
      g.DrawIconUnstretched(icon, r2);
      g.DrawRectangle(new Pen(Color.Gray, 1), r2);
    }

Graphics osztály cikksorozat