C#圖片序列成字符串

        //序列化        
        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;
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章