2011-01-17 17 views
5

questa è la mia prima domanda qui.C# - Integrazione di dati (immagini) in .exe

Ho realizzato un piccolo progetto di quiz sugli stati del mondo 199 tramite Visual Studio C#. quindi ho raccolto tutte le bandiere di ogni paese e le ho messe in una cartella - puoi immaginare che ho raccolto MOLTI.

Per eseguire il mio progetto corrente ho bisogno della cartella con tutte queste immagini .gif - altrimenti l'avvio terminerà con un errore fatale. :-(

La mia domanda è se è possibile integrare le immagini nel mio file exe in modo che possa funzionare senza quella cartella brutto. (Importante anche per il progetto futuro con ancora più contenuti!)

E se è possibile - come? Sarebbe anche bello se tu mi permettessi di sapere come usare le immagini - quali percorsi hanno ecc ... =)

Grazie in anticipo!

Robbepop

risposta

9

È possibile aggiungere un file di risorse alla vostra applicazione, andando a

Progetto >> proprietà del progetto >> Risorse >> Crea un file di risorse.

È quindi sufficiente aggiungere qualsiasi immagine alla vostra applicazione e fare riferimento tramite il codice. Selezionare Images dal menu a discesa nella parte superiore del menu, quindi fare clic su Add Resource >> From existing file.

Dopo aver salvato il file di risorse, è possibile accedere alle immagini tramite codice, ad es.

> Image img = 
> YourProject.Properties.Resources.Image1 

Tuttavia, con il numero di immagini che hai, e quello che vorrei credere che tu li sta utilizzando per, vi suggerirei di usare un Image List, che è possibile aggiungere tutte le immagini a, e accedervi tramite la loro chiave o indice. per esempio.

Image img = imageList1[0]; 

O

Image img = imageList1["US"]; 

Questo può essere trovato nella vostra cassetta degli attrezzi.

3

Ogni assemblaggio in .NET possono contenere cosiddette risorse. È possibile aggiungerli nelle proprietà di un progetto nella scheda Risorse. Successivamente, è possibile accedervi tramite ProjectNameSpace.Properties.Resources.

5

È possibile aggiungere le immagini come risorse incorporate. Quindi utilizzare ManifestResourceStream dall'Assembly per estrarre i dati di byte non elaborati e caricarli successivamente come immagine.

Nota: questo è diverso dalla risposta/approccio di Femaref di seguito.