Может ли Silverlight сделать следующее? - PullRequest
3 голосов
/ 27 апреля 2009

Могу ли я сделать следующее на странице / в приложении Silverlight? (Примечание: приложение silverlight будет встроено на страницу веб-сайта ASP.NET MVC): -

  1. Отображение изображения с ресурса: например. www.someDomain.com/image.png
  2. URL отображаемого изображения передается в элемент управления (т. Е. Он не жестко закодирован, но .. скажем .. введен в текстовое поле через пользователя на странице).
  3. Изменить размер изображения.
  4. Добавить слои к изображению. Слой может быть .. я не знаю .. какой-то основной текст или другое изображение или значок
  5. изменить шрифт или размер шрифта шрифта слоя.
  6. «Сохранить» измененное изображение на другой URL-адрес через HTTP-POST. Поэтому, если я изменил размер изображения или добавил несколько текстовых слоев, все они отображаются в одном растровом изображении (png / jpg / что угодно), которое затем помещается в URL в виде двоичного файла. (т.е. multipart / form-data)

Примечание:

Я задавал этот вопрос раньше , но это было для Flash (flv / swf). Теперь мне интересно, можно ли это сделать в серебряном свете.

Обновлен вопрос

Кроме того, какое программное обеспечение требуется для создания этих приложений Silverlight? VS2008? Выражение смесь? Я знаю, что вы можете использовать блокнот ... но я настолько новичок в этом, мне нужно некоторое приложение WYSIWYG, я ожидаю.

Ответы [ 2 ]

3 голосов
/ 27 апреля 2009

API-интерфейс Writable Bitmap API Silverlight 3 звучит почти так же, как и вы. Вы можете использовать стандартные элементы управления Silverlight, такие как TextBlock и Image, чтобы выложить изображение и слои, а затем использовать API, чтобы сделать «скриншот» этого макета для загрузки на сервер.

Надеюсь, это поможет.

3 голосов
/ 27 апреля 2009

Да, может, но имеет такое же междоменное ограничение, как у flash. Вам понадобится crossdomain.xml или clientaccesspolicy.xml на удаленных серверах, чтобы позволить Silverlight взаимодействовать с ними. Есть статья ms здесь , которая дает больше информации об ограничениях использования silverlight для общения с другими серверами.

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

Так что вы можете загрузить его с

Bitmap bitmap = new Bitmap(<some stream>);
Graphics g = Graphics.FromImage(bitmap);

и тогда вы можете играть с ним любым способом.

g.DrawString("Silverlight image", 
    new Font("times", 32), 
    SystemBrushes.WindowText, 0, 0);
...