Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Source eines Images per String setzen? (C#)
Lotus
myCSharp.de - Member



Dabei seit:
Beiträge: 77

Themenstarter:

Source eines Images per String setzen? (C#)

beantworten | zitieren | melden

Hallo, ich bin noch relativ neu in der Welt von C# und bin nun auf ein Problem gestoßen wo ich einfach nicht weiterkomme.

Ich habe ein Image, welches ich über eine Pfadangabe setzen möchte und am liebsten wär mir das ja so:


myImage.Source = "C:\Bilder\myPicture.gif";

Aber das hat nicht funktioniert. Nach googlen bin ich auf folgendes gestoßen:


myImage.Source = new BitmapImage(new Uri("C:\Bilder\myPicture.gif"));

Doch wenn ich das starten will, sagt er mir das eine Xaml-Exception nicht abgefangen wurde.. Ehrlich gesagt ich hab keine Ahnung was und wo ich das jetzt abfangen müsste, geschweige denn wie..

Außerdem find ich das irgendwie doof die Bilder direkt anzugeben...(User könnten die ja dann einfach ändern in dem sie sie überschreiben)
Kann man nicht irgendwie eine Bibliothek anlegen, in der die Bilder gespeichert sind (möglichst kryptisch) und dann einfacher über diese auf die Bilder zugreifen?


Ich bin für jede Antwort sehr dankbar!
private Nachricht | Beiträge des Benutzers
Wax
myCSharp.de - Member

Avatar #avatar-2276.jpg


Dabei seit:
Beiträge: 745
Herkunft: Dortmund

beantworten | zitieren | melden

Image.FromFile("blablub.gif");
private Nachricht | Beiträge des Benutzers
Lotus
myCSharp.de - Member



Dabei seit:
Beiträge: 77

Themenstarter:

beantworten | zitieren | melden

So ich habs jetzt probiert, aber leider hat das nicht geklappt.. folgendes hab ich probiert:

myImage.Source = Image.FromFile("pfad.gif");

Weiterhin kommt der Fehler:
Eine implizite Konvertierung vom Typ "System.Drawing.Image" in "System.Windows.Media.ImageSource" ist nicht möglich.
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Lotus am .
private Nachricht | Beiträge des Benutzers
Aratar
myCSharp.de - Member



Dabei seit:
Beiträge: 126

beantworten | zitieren | melden

Hallo,


BitmapImage bmp = new BitmapImage(new Uri("/*dein pfad*/"));
Image img= new Image();
img.Source = bmp;

Mfg
Aratar
private Nachricht | Beiträge des Benutzers
Lotus
myCSharp.de - Member



Dabei seit:
Beiträge: 77

Themenstarter:

beantworten | zitieren | melden

Danke Dir, es läuft, hatte den Code schon im ersten Post, aber dummerweise hab ich mich bei dem Pfad VERSCHRIEBEN -.-, deswegen hatte er keinen richtigen Pfad gefunden und hat wahrscheinlich mit null probiert etwas zu laden..

Aufjedenfall danke!
private Nachricht | Beiträge des Benutzers
Lotus
myCSharp.de - Member



Dabei seit:
Beiträge: 77

Themenstarter:

beantworten | zitieren | melden

Entschuldigung für den Doppelpost, aber ich habe noch eine Frage:

Ich habe meine Bilder jetzt als Ressourcen hinzugefügt.
Die Bilder sind nummeriert von
1.jpg - 10.jpg

Gibt es eine Möglichkeit über eine Variable mit dem Namen 1.jpg oder 1 an das Bild ranzukommen? Ich hab mir das so vorgestellt:

Auf eine Ressource würde man ja normalerweise so zugreifen:


BitmapImage bmp = myProject.Properties.Resources.<name>;

Jetzt möchte ich gerne den <namen> durch eine Variable ersetzen, die den Namen erhält. Also in "temp" steht z.B. "1.jpg" oder "1" drin.

Jetzt wäre es toll wenn man irgendwie sagen könnte:


BitmapImage bmp = myProject.Properties.Resources.<temp>;

Geht sowas? Ich hoffe ja :-(
private Nachricht | Beiträge des Benutzers
talla
myCSharp.de - Experte

Avatar #avatar-3214.jpg


Dabei seit:
Beiträge: 7290
Herkunft: Esslingen

beantworten | zitieren | melden

Hallo,
Zitat von Lotus
Auf eine Ressource würde man ja normalerweise so zugreifen:


BitmapImage bmp = myProject.Properties.Resources.<name>;
Nein, nicht in WPF. Das was du schreibst ist das Ressourcensystem von Windows Forms. Schau dir in der MSDN Lib hier mal an wie man das in WPF macht. Speziell der Abschnitt Content Files
Baka wa shinanakya naoranai.

Mein XING Profil.
private Nachricht | Beiträge des Benutzers
Lotus
myCSharp.de - Member



Dabei seit:
Beiträge: 77

Themenstarter:

beantworten | zitieren | melden

Hm.. das ist seltsam, ich hab das doch vorhin ausprobiert und das hat sogar geklappt o.O?

Aber selbst wenn ich keine Ressource-Datei sondern eine Content-Datei anlege, würde das denn mit dem "variablen Datennamen" gehen?
private Nachricht | Beiträge des Benutzers