//序列化
this.picbox.Image != null?SerializeObject(this.picBox.Image):""
//反序列化
//str 为图片序列化之后生成的字符串
this.picBox.Image = (Image)DeserializeObject(str);//Image.FromFile("default.png")
//将object类型对象转化为二进制字符串
public string SerializeObject(object obj)
{
IFormatter formatter = new BinaryFormatter();
string result = string.Empty;
using (MemoryStream stream = new MemoryStream())
{
formatter.Serialize(stream,obj);
byte[] byt = new byte[stream.Length];
byt = stream.ToArray();
result = Convert.ToBase64String(byt);
stream.Flush();
}
return result;
}
//将二进制序列字符串转换为Object类型对象
public object DeserializeObject(string str)
{
IFormatter formatter = new BinaryFormatter();
byte[] byt = Convert.FromBase64String(str);
object obj = null;
using (Stream stream = new MemoryStream(byt,0,byt.Length))
{
obj = formatter.Deserialize(stream);
}
return obj;
}