2015-11-23 2 views
0

Это эволюция: C# image binary serializationC# WPF преобразовать изображение объекта и обратно

У меня есть очень простой класс:

public class TheClass2 
{ 
    public object myImg; 
    public int myInt; 
} 

Для того, чтобы сериализовать я должен бросить myImg от изображения до объекта

var ist = new TheClass2(); 
Image i = new Image(); 
ist.myImg= Convert.ChangeType(i, typeof(object));<-----this is not working 

но ist.myImg все еще изображение.

Thanx за любую помощь Патрик

+0

Вы, кажется, не понимают, что делает 'Convert.ChangeType()' метод. Откуда у вас возникла идея, что она будет _serialize_ ваши данные? Как объяснялось в предыдущем вопросе, вам нужно будет сохранить данные изображения явно в формате, соответствующем вашему сценарию. Существует много способов сделать это, все документально подтверждено на MSDN и описано в различных вопросах и ответах по переполнению стека. –

ответ

1

Да, я был неправ. Так легко в конце концов:

public class MyBitmapImage 
{ 
     public string strBitmapImage; 
     public bool IsImageEmbedded; 
} 

, а затем сериализации как:

public static bool FileSerializer<T>(string filePath, T objectToWrite, out string strError, bool append = false) 
{ 
    using (Stream fileStream = File.Open(filePath, append ? FileMode.Append : FileMode.Create)) 
    { 
    strError = string.Empty; 
    try 
    { 
     var binaryFormatter = new BinaryFormatter(); 
     binaryFormatter.Serialize(fileStream, objectToWrite); 
     return true; 
    } 
    catch (Exception exc) 
    { 
     strError = "Binary FileSerializer exception:" + exc; 
     return false; 
    } 
    } 
} 
Смежные вопросы