public void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("Id", Id); info.AddValue("Name", Name); info.AddValue("Introduction", Introduction); if (Avator != null) { MemoryStream Stream = new MemoryStream(); Avator.Save(Stream, ImageFormat.Png); info.AddValue("Avator", Stream.GetBuffer()); Stream.Close(); } else { info.AddValue("Avator", Encoding.UTF8.GetBytes("NULL")); } if (Drawing != null) { MemoryStream Stream = new MemoryStream(); Drawing.Save(Stream, Drawing.RawFormat); info.AddValue("Drawing", Stream.GetBuffer()); Stream.Close(); } else { info.AddValue("Drawing", Encoding.UTF8.GetBytes("NULL")); } info.AddValue("Radical", RadicalRatio); info.AddValue("Skills", SkillPool.ToDictionary(O => O.Key.Id, P => P.Value)); info.AddValue("Records", Records); }
private void SetAiAvator_Click(object Sender, RoutedEventArgs E) { OpenFileDialog FileDialog = new OpenFileDialog() { Filter = "图像文件|*.png", CheckFileExists = true, CheckPathExists = true, Title = "选择头像图片", InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures) }; bool?Result = FileDialog.ShowDialog(); if (!Result.HasValue || !Result.Value) { return; } string ImagePath = FileDialog.FileName; AvatorWindow Dialog = new AvatorWindow(); Dialog.Init(ImagePath); Dialog.ShowDialog(); if (Dialog.Canceled) { return; } Avator = Dialog.Target; using (MemoryStream Stream = new MemoryStream()) { Avator.Save(Stream, ImageFormat.Png); BitmapImage Temp = new BitmapImage(); Temp.BeginInit(); Temp.CacheOption = BitmapCacheOption.OnLoad; Temp.StreamSource = Stream; Temp.EndInit(); AvatorImage.ImageSource = Temp; } }
public void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("Id", Id); info.AddValue("Name", Name); info.AddValue("Introduction", Introduction); info.AddValue("LanIp", LanIpAddress.ToString()); info.AddValue("WanIp", WanIpAddress.ToString()); if (Avator != null) { MemoryStream Stream = new MemoryStream(); Avator.Save(Stream, ImageFormat.Png); info.AddValue("Avator", Stream.GetBuffer()); Stream.Close(); } else { info.AddValue("Avator", Encoding.UTF8.GetBytes("NULL")); } info.AddValue("Records", Records); info.AddValue("Achievements", Achievements); }