BitmapImage de byte[]
J'ai un BitmapImage
que j'utilise dans une application WPF, plus tard, je veux l'enregistrer dans une base de données comme un tableau d'octets (je suppose que c'est la meilleure façon), comment puis-je effectuer cette conversion?
Ou, à défaut, est-il une meilleure façon de sauver une BitmapImage
(ou l'une de ses classes de base, BitmapSource
ou ImageSource
) à un référentiel de données?
Vous devez vous connecter pour publier un commentaire.
Convertir à un byte [], vous pouvez utiliser un MemoryStream:
Au lieu de la JpegBitmapEncoder vous pouvez utiliser n'importe quel BitmapEncoder comme casperOne dit.
Si vous utilisez MS SQL, vous pouvez également utiliser un
image
-Colonne comme MS SQL prend en charge que le type de données, mais vous devez convertir les BitmapImage en quelque sorte.Vous devrez utiliser une instance d'une classe qui dérive de
BitmapEncoder
(commeBmpBitmapEncoder
) et d'appeler laEnregistrer
méthode pour économiser de l'BitmapSource
à unStream
.Vous de choisir l'encodeur selon le format que vous souhaitez enregistrer l'image en.
l'écrire sur un
MemoryStream
, vous pouvez accéder les octets à partir de là.quelque chose un peu comme ceci:
Il suffit d'utiliser un MemoryStream.