Silverlight - отображение png в управлении изображением из файла на локальном жестком диске - PullRequest
0 голосов
/ 05 марта 2012

Я изо всех сил пытаюсь показать картинку в элементе управления Silverlight.

Файл расположен локально на моем жестком диске.

Можно ли загрузить изображение с жесткого диска в элемент управления изображением Silverlight?

Все, что я искал до сих пор, похоже, не относится к загрузке с жесткого диска.

Нужно ли сначала сохранить его как ресурс?

В настоящее время я делаю что-то вроде этого:

Image pic = new Image();

Uri uri = new Uri(@"C:\Briefcase\PDF.bmp", UriKind.Relative);

pic.Source = new System.Windows.Media.Imaging.BitmapImage(uri);

canvas.Children.Add(pic);
pic.SetValue(Canvas.LeftProperty, Convert.ToDouble(100));
pic.SetValue(Canvas.TopProperty, Convert.ToDouble(100));
pic.Height = 70;
pic.Width = 600;

Мой Ури прав? потому что я также пытался:

Uri uri = new Uri("C:/Briefcase/PDF.bmp", UriKind.Relative);

Возможно, это как-то связано с тем, что silverlight не имеет доступа к моему локальному диску? Если да, то как мне динамически загружать изображение в элемент управления?

Большое спасибо.

Neill

UPDATE:

Решил мою проблему, загрузив изображение в элемент управления изображением прямо из MemoryStream

byte[] logo = e.Result;

logoStream = new System.IO.MemoryStream(logo);

System.Windows.Media.Imaging.BitmapImage b = new System.Windows.Media.Imaging.BitmapImage();
b.SetSource(logoStream);
ownerLogo.Source = b;
* С уважением 1029 *

Нилл

Ответы [ 2 ]

1 голос
/ 05 марта 2012

Silverlight ограничивает ваш доступ к небольшому набору мест в режиме по умолчанию.На самом деле вы можете получить доступ к файлам в других местах на компьютере, если вы настроите свое приложение для работы OOB и с повышенным доверием (на самом деле, я думаю, что с SL5 вам даже не нужно OOB), но это может или не может быть хорошим решениемдля вашего приложения.

Если вы просто пытаетесь использовать значок и планируете распространять его вместе с вашим приложением, то вам обязательно следует добавить его в проект в качестве ресурса.

1 голос
/ 05 марта 2012

В целях безопасности Silverlight не разрешает доступ к файлам на локальном компьютере пользователя за пределами изолированного хранилища или в диалоговых окнах открытия / сохранения файлов (и это должно осуществляться с помощью действий, инициируемых пользователем).

С помощью приложения Silverlight 4 с повышенным доверием вы можете получить прямой доступ к папкам «Мои документы», «Мои рисунки», «Мои видео» и «Моя музыка». Чтобы приложение полностью доверяло SL4, оно должно быть вне браузера. Это то, что вы хотите? (SL 5 разрешает полный доступ к файловой системе из браузера и имеет повышенные разрешения в браузере, но для этого требуется изменение реестра.)

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