HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Kép beágyazása az alkalmazásba erőforrásként


Példaprogram letöltése

5941 bájt

Visual Studio.NET-es alkalmazások készítésekor lehetőségünk van különféle erőforrások tárolására a készítendő alkalmazásba. Így többek között megoldható az is, hogy tetszőleges méretű és tartalmú képet fordítsunk be az EXE-be, DLL-be, majd a program futása során ezeket felhasználjuk.

Új bitmap létrehozásához válasszuk a Solution Explorer-ben az aktuális projektet, majd jobb gomb után az Add - Add new item menüpontot. A megjelenő ablakban keressük elő a Bitmap File elemet. Ezzel egy új Bitmap-et tudunk létrehozni az adott projekthez. Ha már meglévő BMP állományt szeretnénk hozzáadni, akkor egyszerűen a Windows Intézőből drag and drop-al fogjuk meg és húzzuk át a Bitmap-et a Solution Explorer-be.
Ettől viszont még nem kerül be erőforrásként a Bitmap a készítendő alkalmazásba. Ha ezt így szeretnénk, akkor szükséges a következő beállítás: miután a Solution Explorer-ben az adott Bitmap a kijelölt, a Properties ablakban a Build Action tulajdonságát állítsuk át Embedded Resource értékre.
Ha most lefordítjuk, futtatjuk az alkalmazást, akkor már a Bitmap is belekerül.
Most nézzük, miként tudjuk a programban tárolt képet elővarázsolni futás közben.


  Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
Első lépésként azt az assembly-t kell elérnünk, mely alkalmazásunk adott Form-ja lesz.
    Dim a As [Assembly] = [Assembly].GetAssembly(Type.GetType("EmbedBitmap.Form1"))
Következő lépésként máris létrehozhatunk egy új Bitmap osztályt, melynek konstruktorában egy stream-et adunk meg, amit a létrehozott Assembly GetManifestResourceStream függvénye szolgáltat.
    Dim bmp As New Bitmap(a.GetManifestResourceStream("EmbedBitmap.Bitmap1.bmp"))	
A kapott képet ezek után szabadon felhasználhatjuk.
    e.Graphics.DrawImage(bmp, 10, 10)
  End Sub 'Form1_Paint
A helyes működés érdekében, mind az assembly osztály létrehozásánál, mind a GetManifestResourceStream függvényben a megfelelő nevet kell használnunk, hogy a kép elérhető legyen. Az assembly létrehozásánál a típus meghatározásakor a névtér.ablak elnevezést kell használnunk. Mivel az alkalmazásunk az EmbedBitmap nevet kapta és a Form1-en dolgozunk, így itt az EmbedBitmap.Form1 név lesz a megadandó.
A GetManifestResourceStream függvény esetén a névtér.erőforrás névformátumot kell követnünk. Mivel a létrehozott kép a Bitmap1.bmp nevet kapta, így itt az EmbedBitmap.Bitmap1.bmp névvel hivatkozhatunk az elérni kívánt erőforrásra.

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 |