Может ли кодировать / декодировать объект изображения, чтобы сохранить его в файле XML с помощью Compact Framework? - PullRequest
0 голосов
/ 03 марта 2010

Как уже упоминалось в заголовке, я хочу закодировать Image Obj в некоторые текстовые данные (компактный каркас не поддерживает двоичный форматер, поправьте меня, если я не прав) Так есть ли способ кодировать Image Obj в текстовые данные и сохранять его в XML-файле для возможности декодирования из XML-файла в Image obj позже?

ОБНОВЛЕНИЕ: Вот что я сделал, следуя Сэму. Спасибо Сэм!

//Write to XML
byte[] Ret;
using (MemoryStream ms = new MemoryStream())
{
    myImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
    Ret = ms.ToArray();
}
StreamWriter myWrite = new StreamWriter(myPathFile);
myWrite.Write(Convert.ToBase64String(Ret));
myWrite.Flush();
myWrite.Close();

Затем, когда я хочу декодировать изображение из Base64String в изображение:

StreamReader StrR = new StreamReader(myPathFile);
BArr = Convert.FromBase64String(StrR.ReadToEnd());
using (MemoryStream ms = new MemoryStream(BArr,0,BArr.Length))
{
    ms.Write(BArr, 0, BArr.Length);
    listControl1.BGImage = new Bitmap(ms);
}

1 Ответ

1 голос
/ 03 марта 2010

Обычно двоичные данные преобразуются в Base64 при включении в XML. Посмотрите на Convert.ToBase64String.

...