У меня есть насущная проблема, я пытаюсь преобразовать массив байтов в растровое изображение, но он всегда показывает мне:ArgumentException при преобразовании байт [] в растровое изображение с #
System.ArgumentException Параметр не действителен ,
мой код выглядит следующим образом:
Im передавая байты через веб-сервиса с:
string DecodedString = string.Empty;
DecodedString = System.Text.Encoding.GetEncoding(1251).GetString(bytes);
sResult = sResult + "<Photo>" +XmlConvert.EncodeName(DecodedString) + "</Photo>";
и в моей веб-странице:
byte[] bytes = (Byte[])System.Text.Encoding.GetEncoding(1251).GetBytes(XmlConvert.DecodeName(xDocument.SelectSingleNode("Response/Images/Photo").InnerText));
System.IO.MemoryStream ms = new System.IO.MemoryStream(bytes);
System.Drawing.Bitmap b = new System.Drawing.Bitmap(ms);//(System.Drawing.Image.FromStream(ms));
Но если я не использовать enconde/декодировать XML не может быть прочитан он выдает неверный исключение XML .. – 2009-02-02 14:16:58
* Не * положить в этом случае используется инструкция вокруг потока. Когда вы вызываете Image.FromStream, вы * не должны * закрывать поток или изображение будет разбито. Когда вы удаляете изображение, * это * закроет поток. –
D'oh. Я спешил, когда написал ответ и фактически не прочитал весь код:/ – configurator