2010-08-02 4 views
0

Je cette méthodeemplacement du fichier à System.IO.Stream

public void SetSource(Stream streamSource); 

qui fixe la source de BitmapSource, est-il un moyen de convertir mon URI ou l'emplacement de mon fichier image et le transmettre comme un flux?

(une autre question):

 Uri uri = new Uri("../images/MyImage.png", UriKind.Relative); 
     BitmapImage btmp1 = new BitmapImage(uri); 
     WriteableBitmap btmp = new WriteableBitmap(btmp1); 

Je reçois une erreur exception NULL lors de la création d'une instance de btmp (parce qu'elle attend un BitmapImageSource) ... mais comment puis-je obtenir ce que je suis après?

grâce,

Voodoo

Répondre

2

Vous pouvez faire un FileStream:

thingy.SetSource(new FileStream(path)); 
+0

dois-je donner le chemin absolu? Et si je veux dire que c'est dans le dossier des images de la racine? – VoodooChild

+0

J'ai essayé [new BitmapSource(). SetSource (nouveau FileStream (@ "C: \ images \ myimage.png", FileMode.Open)); "... mais il se plaint que Impossible de créer une instance de la classe abstraite ou interface 'System.Windows.Media.Imaging.BitmapSource' – VoodooChild

+0

Changez-le en 'new bitmapImage()'. – SLaks

1

Vous pouvez simplement écrire

new BitmapImage(new Uri(path, UriKind.Absolute)) 

Si vous avez un chemin relatif, passer UriKind.Relative.

+0

Oui, j'ai essayé cela aussi, mais je reçois toujours une exception NULL lors de l'utilisation de BitMapImage objet .... pourrait-il être parce que mon xap est dans un autre répertoire? Comment puis-je m'assurer que mon URI n'échoue pas? – VoodooChild