web-dev-qa-db-de.com

Bild von PictureBox in ein Bild aus meinen Ressourcen ändern?

Wie stelle ich ein PictureBox-Bild aus meinen Ressourcen auf ein Bild ein?

(Ich habe dies ohne Erfolg versucht: pictuerbox.Image = "img_location";)

21
MasterMastic

Wenn Sie die Ressource über die Visual Studio-Benutzeroberfläche geladen haben, sollten Sie dazu in der Lage sein:

picturebox.Image = project.Properties.Resources.imgfromresource
58

Ken hat die richtige Lösung, aber Sie möchten die Member-Methode picturebox.Image.Load () nicht hinzufügen.

Wenn Sie dies mit einem Ladevorgang tun und ImageLocation nicht festgelegt ist, schlägt dies mit der Ausnahme "Image Location muss festgelegt" fehl. Wenn Sie die Member-Methode picturebox.Refresh () verwenden, funktioniert sie ohne die Ausnahme.

Abgeschlossener Code unten:

public void showAnimatedPictureBox(PictureBox thePicture)
{
            thePicture.Image = Properties.Resources.hamster;
            thePicture.Refresh();
            thePicture.Visible = true;
}

Es wird aufgerufen als: showAnimatedPictureBox (myPictureBox);

Meine XAML sieht so aus:

    <Window
        xmlns="http://schemas.Microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.Microsoft.com/winfx/2006/xaml"
        xmlns:wfi="clr-namespace:System.Windows.Forms.Integration;Assembly=WindowsFormsIntegration"
        xmlns:winForms="clr-namespace:System.Windows.Forms;Assembly=System.Windows.Forms"
        xmlns:d="http://schemas.Microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" x:Class="myApp.MainWindow"
        Title="myApp" Height="679.079" Width="986">

        <StackPanel Width="136" Height="Auto" Background="WhiteSmoke" x:Name="statusPanel">
            <wfi:WindowsFormsHost>
                <winForms:PictureBox x:Name="myPictureBox">
                </winForms:PictureBox>
            </wfi:WindowsFormsHost>
            <Label x:Name="myLabel" Content="myLabel" Margin="10,3,10,5" FontSize="20" FontWeight="Bold" Visibility="Hidden"/>
        </StackPanel>
</Window>

Mir ist klar, dass dies ein alter Beitrag ist, aber das Laden des Bildes direkt von einer Ressource war auf der Microsoft-Site äußerst unklar, und dies war die (teilweise) Lösung, zu der ich gekommen bin. Hoffe es hilft jemandem!

8
Phorkus Maximus

Ok ... also zuerst müssen Sie das Image in Ihr Projekt importieren

1) Wählen Sie die Bildbox im Formularentwurf aus

2) Öffnen Sie PictureBox-Aufgaben (es ist der kleine Pfeil, der sich rechts auf der Kante in der Bildbox befindet).

3) Klicken Sie auf "Bild auswählen ...".

4) Wählen Sie die zweite Option "Projektressourcendatei:" (diese Option erstellt einen Ordner mit dem Namen "Resources", auf den Sie über Properties.Resources zugreifen können.)

5) Klicken Sie auf "Importieren" und wählen Sie Ihr Bild von Ihrem Computer aus (jetzt wird eine Kopie des Bildes mit demselben Namen wie das Bild in den in Schritt 4 erstellten Ressourcenordner gesendet.)

6) Klicken Sie auf OK

Jetzt befindet sich das Bild in Ihrem Projekt und Sie können es mit dem Befehl Eigenschaften verwenden. Geben Sie diesen Code ein, wenn Sie das Bild aus der picturebox ändern möchten:

pictureBox1.Image = Properties.Resources.myimage;

Hinweis: myimage steht für den Namen des Bildes ... nachdem Sie den Punkt nach Resources eingegeben haben, wird er in Ihren Optionen Ihre importierte Bilddatei sein

6
Alin Leon

Sie können einen ResourceManager verwenden, um das Image zu laden.

Siehe folgendes Link: http://www.Java2s.com/Code/CSharp/Development-Class/Saveandloadimagefromresourcefile.htm

Komisch ein Link von einer Java-Site ...;)

3
The Evil Greebo

versuche Folgendes:

 myPictureBox.Image = global::mynamespace.Properties.Resources.photo1;

und ersetzen Sie den Namespace durch Ihren Projekt-Namespace

2

Sie müssen den vollständigen Pfad der Ressourcendatei als Namen des Images in den Ressourcen Ihrer Anwendung angeben. Siehe Beispiel unten.

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    PictureBox1.Image = My.Resources.Chrysanthemum
End Sub

Geben Sie in dem Pfad, der der Image-Eigenschaft nach MyResources zugewiesen ist, den Namen der Ressource an.

Aber bevor Sie das tun, was Sie im Ressourcenbereich Ihrer Anwendung aus einer Image-Datei importieren müssen, existiert diese oder kann eine eigene erstellen.

Tschüss

0