2010-05-31 3 views
0
byte[] binaryData = new Byte[pngStream.Length]; 
    long bytesRead = pngStream.Read(binaryData, 0, (int)pngStream.Length); 

    string base64String = System.Convert.ToBase64String(binaryData, 
                  0, 
                  binaryData.Length); 

У меня есть двоичные данные в массиве байтов. Кто-нибудь знает, как сохранить это в любом файле изображения (png или jpg) в silverlight3 или C#?Сохраните двоичные данные в файл изображения в C#/silverlight 3

Thanks

ответ

6

Чтобы сохранить массив байтов (дословно) в файл:

System.IO.File.WriteAllBytes("c:\\YourFile.png", binaryData); 

Это то, что вам нужно?

0

В каком формате представлены данные вашего пикселя?

В любом случае, обратите внимание на библиотеку ImageTools: http://imagetools.codeplex.com/

Сохранить себя от изобретать колесо

0

Поскольку кажется, что данные уже находятся в нужном вам формате, вопрос кажется скорее «как сохранить содержимое потока в файл», который Moe ответил правильно. Если хранить все это в памяти, вы можете сделать File.Create, а затем скопировать из одного потока в другой (если в .Net 4 вы можете использовать new CopyTo method, чтобы сделать это для вас - если на нижнем уровне вы можете сделать это вручную или просто использовать метод расширения для получения такого же поведения :)

Если вам нужно изменить формат изображения, вы можете использовать System.Drawing.Image для этого. Например, Image.FromStream, а затем the Save method.

Смежные вопросы