正如所提到的標題,我想要將Image Obj編碼成某種文本數據(緊湊框架不支持binaryformatter,如果我錯了,請糾正我)。那麼是否有任何方法可以將Image Obj編碼爲文本數據,並將其保存在XML文件中以便稍後能夠將XML文件解碼爲Image obj?可以使用Compact Framework對圖像對象進行編碼/解碼以將其保存在XML文件中?
更新:這是我遵循山姆的決定。感謝Sam!
//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到圖像:包含在XML時
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);
}
順便說一下,你的'StreamReader'和'StreamWriter'需要在'using'塊中。 – 2010-03-04 02:24:22
正在使用使用類似於創建對象的塊,然後object.Close()或object.Dispose()? – Thyphuong 2010-03-04 02:45:25