在xml文件中发出序列化新位图图像的问题

时间:2016-04-20 19:49:40

标签: c# serialization bitmap

当我尝试在我的xml文件中序列化新的位图图像时,我遇到错误“GDI +中发生了一般错误”。只有在文件中存在现有数据时才会发生错误,如果我清空序列化工作。

以下是代码:

[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
[XmlElement("LargeIcon")]
public byte[] LargeIconSerialized
{
    get
    { // serialize
        if (_Photo == null) return null;
        using (MemoryStream ms = new MemoryStream())
        {
            _Photo.Save(ms, ImageFormat.Bmp);
            return ms.ToArray();
        }
    }
    set
    { // deserialize
        if (value == null)
        {
            _Photo = null;
        }
        else {
            using (MemoryStream ms = new MemoryStream(value))
            {
                _Photo = new Bitmap(ms);
            }
        }
    }
}

我序列化的地方:

public void EnregistrerNewUtil(string folderPath, string fileName)
{
    Stream fStream;

    try { // si ouvert ferme le fichier
        fStream = new FileStream(folderPath + fileName, FileMode.Open, FileAccess.Write, FileShare.None);
        fStream.Close();
    }
    catch{
        // déjà fermé
    }

    using (fStream = new FileStream(folderPath + fileName, FileMode.Truncate, FileAccess.Write, FileShare.None))//vider avant de réécrire la liste
    {
        XmlSerializer xmlFormat = new XmlSerializer(typeof(UtilisateurList));
        xmlFormat.Serialize(fStream, list);
    }
}

修改

我应该添加我序列化列表,这里是代码:

    [XmlRoot("Utilisateur_List")]
    public class UtilisateurList
    {
        public UtilisateurList() { Items = new List<Utilisateur>(); }
        [XmlElement("Utilisateur")]
        public List<Utilisateur> Items { get; set; }
    }

由于

0 个答案:

没有答案