Создание изображения из строки в кодировке base64 (Silverlight 4.0) - PullRequest
1 голос
/ 06 августа 2010

При попытке создать изображение из строки в кодировке base64, отправленной в XML-файле, появляется ошибка катастрофического отказа. У меня есть пользователь, который говорит, что это работает, но он использует WPF, а Silverlight отличается.

код:

    void TagCloudImageCompleted(object sender, WebApiTagCloud.TagCloudImageCompletedEventArgs e)
    {
        String cloudImageResult = e.Result;
        //MessageBox.Show(cloudImageResult);

        XDocument cloudImageXML = XDocument.Parse(cloudImageResult);
        String bmpString = cloudImageXML.Element("TagCloudImage").Element("BitMapImage").Value;

        byte[] imageBytes = System.Convert.FromBase64String(bmpString);
        MemoryStream ms = new MemoryStream(imageBytes);
        BitmapImage im = new BitmapImage();
        im.SetSource(ms);
        LocationImage.Source = im;
        ms.Close();
    }

Так как его версия работает, я пытался проверить правильность получаемых данных. Но я еще не смог уточнить у него, что мы получаем аналогичные данные.

Ошибка на линии im.SetSource(ms);

Катастрофический сбой (Исключение из HRESULT: 0x8000FFFF (E_UNEXPECTED))

1 Ответ

1 голос
/ 06 августа 2010

Код выглядит хорошо.Однако ключевое отличие BitmapImage от двоюродного брата WPF заключается в том, что он поддерживает только JPEG и PNG.Убедитесь, что используется один из этих форматов.

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