Сохраните двоичные данные в файл изображения в c # / silverlight 3 - PullRequest
0 голосов
/ 01 июня 2010
   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 #?

Спасибо

Ответы [ 3 ]

6 голосов
/ 01 июня 2010

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

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

Это то, что вы ищете?

0 голосов
/ 01 июня 2010

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

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

0 голосов
/ 01 июня 2010

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

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

Спасите себя от повторного изобретения колеса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...