WPF Image: показать изображение из файла, как? - PullRequest
0 голосов
/ 26 августа 2011

Я хочу отображать изображения в WPF, но используя реальное изображение вместо URL. Причина этого в том, что я хочу сериализовать изображения, чтобы я мог легко их переносить. Как я могу это сделать, если класс изображения только Источник? Что означает, использует URI. Идея была бы очень проста: сериализовать изображение, затем, когда десериализация будет выполнена, оно загрузит изображение на контроллер, такой как Image. Возможно ли, скажем, сериализовать изображения, тогда как я могу получить их URI, даже если такая вещь существует? Это очень запутанно. Надеюсь на истинное просветление ...

Я уже нашел много фрагментов кода, которые показывают, как сериализовать / десериализовать, но, честно говоря, я пока не смог их протестировать, поскольку начальная часть моего плана уже приостановлена. Хотя, если у кого-то есть хорошая чистая ссылка, я был бы признателен за это!

Ответы [ 2 ]

1 голос
/ 26 августа 2011

WPF не требует фактического URI;для этого требуется экземпляр ImageSource и в него включен встроенный преобразователь из string в ImageSource, который интерпретирует строку как URI.

Самый простой способ преобразовать ваш сериализованный формат вImageSource экземпляр должен поместить что-то вроде ниже в IValueConverter и вернуть BitmapImage:

BitmapImage bi = new BitmapImage();
bi.BeginInit();
bi.StreamSource = /*your serialized image data in Stream form*/;
bi.EndInit();
0 голосов
/ 26 августа 2011

Image.Source - это не URI, вы можете ввести URI, но они просто автоматически преобразуются в ImageSourceиспользуя TypeConverter.Поэтому, если вы хотите сериализовать и десериализовать изображения, вы можете выставить соответствующий ImageSource в качестве свойства, затем его можно установить как bound или Image.Source.

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