2010-06-14 3 views
4

У меня есть приложение, которое позволяет пользователю использовать JQuery и Javascript для добавления изображений и размещения их в div динамически.Как отправить HTML и получить растровое изображение?

Я хотел был бы мочь представить div с всем HTML к WebService и получить назад изображение поэтому мы имеем растровое изображение результата работы конечного пользователя.

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

+0

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

ответ

0

Я не был в состоянии понять, как это сделать, подав HTML и получения изображения, но я был в состоянии создать и обработчик ASHX, который возвращает файл в формате PNG на основе этого blog post , который был достаточно хорош для моего сценария.

Он использует CutyCapt, чтобы снять снимок существующей веб-страницы, записать изображение в папку на веб-сервере и вернуть его.

1

Я хотел бы иметь возможность представить DIV со всеми HTML для WebService и получить обратно изображение

Попробуйте http://browsershots.org!

Браузеры делают скриншоты вашего веб-дизайна в разных операционных системах и браузерах. Это бесплатное онлайн-приложение с открытым исходным кодом, предоставляющее разработчикам удобный способ проверить совместимость браузера своего веб-сайта в одном месте.

0

Как насчет этого. Вы загружаете html в элемент управления webbrowser, а затем используете метод DrawToBitmap. Он не появляется на intellisense, и это, вероятно, не лучшее решение, но оно работает. Обратите внимание на событие DocumentCompleted и добавьте следующий код:

private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
{ 
    var bmp = new Bitmap(100, 100); 
    var rect = new Rectangle(webBrowser.Location.X, webBrowser.Location.Y, webBrowser.Width, webBrowser.Height); 
    webBrowser.DrawToBitmap(bmp, rect); 
    bmp.Save("test.jpg", ImageFormat.Jpeg); 
} 

Вы, вероятно, хотите, чтобы изменить ширину и высоту этого растрового объекта (сделать это в каком-то умном или что-то). Надеюсь это поможет.

EDIT: Теперь я вижу, что вы используете веб-сервис для этого, поэтому это решение, вероятно, не сработает. Я оставлю это здесь только ради информации.

Смежные вопросы