2008-09-30 16 views

Respuesta

9

El método más directo:

YourProjectsBaseNamespace.Properties.Resources.YourImageResourceName 
6

1) Adding and Editing Resources (Visual C#)

System.Drawing.Bitmap bitmap1 = myProject.Properties.Resources.Image01; 

2) Accessing Embedded Resources using GetManifestResourceStream

Assembly _assembly = Assembly.GetExecutingAssembly(); 

Stream _imageStream = 
    _assembly.GetManifestResourceStream(
    "ThumbnailPictureViewer.resources.Image1.bmp"); 
Bitmap theDefaultImage = new Bitmap(_imageStream); 
+1

Y, por supuesto, pondría una declaración de uso alrededor de esa declaración de Stream ... – bdukes

+2

@bdukes: No necesariamente. No estoy seguro de cómo funciona la clase 'Bitmap', pero si es como la clase' Image' no puede disponer de la transmisión hasta que haya terminado con la imagen. Y luego debes eliminar la imagen, no la transmisión. (Al menos si he entendido la documentación correctamente :) – Svish

0
//Get the names of the embedded resource files; 

List<string> resources = new List<string>(AssemblyBuilder.GetExecutingAssembly().GetManifestResourceNames()); 

//Get the stream 

StreamReader sr = new StreamReader(
       AssemblyBuilder.GetExecutingAssembly().GetManifestResourceStream(
        resources.Find(target => target.ToLower().Contains("insert name here")) 

Puede convertir de mapa de bits de la secuencia. La clase Bitmap tiene un método que hace esto. LoadFromStream si mi memoria sirve.

Cuestiones relacionadas