我會做類似的事情:
[XmlIgnore]
public Bitmap LargeIcon { get; set; }
[browsable(false),Editorbrowsable(EditorbrowsableState.Never)]
[XmlElement("LargeIcon")]
public byte[] LargeIconSerialized
{
get { // serialize
if (LargeIcon == null) return null;
using (MemoryStream ms = new MemoryStream()) {
LargeIcon.Save(ms, ImageFormat.Bmp);
return ms.ToArray();
}
}
set { // deserialize
if (value == null) {
LargeIcon = null;
} else {
using (MemoryStream ms = new MemoryStream(value)) {
LargeIcon = new Bitmap(ms);
}
}
}
}
解決方法
我想對一個複雜類型(類)進行 XML序列化 ,該 類型具有System.Drawing.Bitmap類型 的 屬性 。
///
/// Gets or sets the large icon,a 32x32 pixel image representing this face.
///
/// The large icon.
public Bitmap LargeIcon { get; set; }
我現在發現,使用默認的XML序列化器序列化位圖是行不通的,因為它沒有公共的無參數構造函數,而默認的XML序列化器是必需的。
我知道以下幾點:
我甯願不引用其他項目,也不希望廣泛地調整類,以僅允許這些位圖的xml序列化。
有沒有辦法保持簡單?
非常感謝,馬塞爾
總結以上是真正的電腦專家為你收集整理的将C#/。NET中的位圖序列化為XML的全部内容,希望文章能夠幫你解決所遇到的問題。
如果覺得真正的電腦專家網站内容還不錯,歡迎将真正的電腦專家推薦給好友。
有話要說...