2009-02-28 21 views

risposta

25

Considerare l'utilizzo Properties.Resources.yourImage

Properties.Resources contiene tutto ciò che hai aggiunto come risorsa (vedi le proprietà del progetto, scheda risorse)

oltre a questo, se si incorpora le immagini come risorse nel progetto, è possibile ottenere a loro chiamando GetManifestResourceStream sulla assemblea in cui hai incorporato le immagini, qualcosa come

Stream imgStream = 
    Assembly.GetExecutingAssembly().GetManifestResourceStream(
    "YourNamespace.resources.ImageName.bmp"); 
pictureBox.Image = new Bitmap(imgStream); 

Non dimenticare di contrassegnare l'immagine come una risorsa incorporata! (Devi impostare l'azione di creazione per l'immagine nella sua finestra delle proprietà)

Se stai scoprendo che stai tornando indietro null da GetManifestResourceStream, potresti dare il nome sbagliato. (Può essere difficile ottenere i nomi corretti) Chiama GetManifestResourceNames sull'assieme; che ti restituirà tutti i nomi delle risorse e puoi trovare quello nella lista di cui hai bisogno.

2
string img = null; 

private void btnShow_Click(object sender, EventArgs e) 
{ 
    string imgName; 
    img = textBox1.Text; 
    imgName = "images/" + img + ".jpg"; 

    if (imgName == null) 
    { 
     MessageBox.Show("no photo"); 
    } 
    else if (imgName != null) 
    { 
     this.picBox1.Image = Image.FromFile("images/" + img + ".jpg"); 
    } 
} 
1

Di seguito è riportato il codice per recuperare l'immagine dalla cartella delle risorse. Normalmente conserviamo le immagini nella cartella delle risorse. ma a volte abbiamo il nome dell'immagine solo con noi. in tal caso è possibile accedere alle immagini dalla cartella delle risorse utilizzando solo il nome dell'immagine.

Sotto Codice dimostrerà a riguardo.

private System.Resources.ResourceManager RM = new System.Resources.ResourceManager("YourAppliacationNameSpace.Properties.Resources", typeof(Resources).Assembly); 

PbResultImage.Image = (Image)RM.GetObject(YourPictureName); 
  • YourAppliacationNameSpace significa nome dell'applicazione.
  • YourPictureName indica l'immagine a cui si desidera accedere dalla cartella delle risorse. ma il nome dell'immagine deve essere senza estensione, ad es. (PNG, GIF, JPEG ecc.)

spero di essere utile a qualcuno.

Grazie.

0

Salam.

ha funzionato per me:

(Bitmap) Properties.Resources.ResourceManager.GetObject("ImageName"); 
Problemi correlati