2009-02-28 2 views

Antwort

25

das Bildfeld aus diesen Ressourcen-Dateien des Projektes ändern Betrachten Properties.Resources.yourImage

mit

Properties.Resources enthält alles, was Sie als Ressource hinzugefügt haben

Anders als die (Projekteigenschaften, Ressourcen Registerkarte sehen), wenn Sie die Bilder als Ressource in Ihrem Projekt einbetten, können Sie sie erhalten, indem GetManifestResourceStream auf dem anruf Assembly, in die Sie die Bilder eingebettet haben, etwas wie

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

Vergessen Sie nicht, das Bild als eine eingebettete Ressource zu markieren! (Sie müssen die Erstellungsaktion für das Bild in seinem Eigenschaftenfenster festlegen)

Wenn Sie feststellen, dass Sie immer wieder null von GetManifestResourceStream erhalten, geben Sie möglicherweise den falschen Namen. (Es kann schwierig sein, die Namen richtig zu machen) Rufen Sie GetManifestResourceNames auf der Baugruppe; Dadurch erhalten Sie alle Ressourcennamen zurück, und Sie können den Namen in der Liste finden, den Sie benötigen.

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

Unten ist der Code zum Abrufen von Bild aus Ressourcenordner. Normalerweise behalten wir Bilder im Ressourcenordner. Aber irgendwann haben wir Bildnamen nur bei uns. In diesem Fall können Sie auf Bilder aus dem Ressourcenordner nur mit dem Bildnamen zugreifen.

Unten Code wird darüber demonstrieren.

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

PbResultImage.Image = (Image)RM.GetObject(YourPictureName); 
  • YourAppliacationNameSpace bedeutet Name Ihrer Anwendung.
  • YourPictureName bedeutet das Bild, auf das Sie vom Ressourcenordner zugreifen möchten. Der Bildname muss jedoch ohne Erweiterung sein, z. (PNG, GIF, JPEG usw.)

ich hoffe, dass ich für jemanden vorteilhaft sein werde.

Vielen Dank.

0

Salam.

für mich gearbeitet:

(Bitmap) Properties.Resources.ResourceManager.GetObject("ImageName"); 
Verwandte Themen