Ответ 1
Мы использовали http://iecapt.sourceforge.net/ для преобразования HTML в изображение. Вы можете попробовать. Он доступен для БЕСПЛАТНО.
Можно ли преобразовать элемент управления Html в образ в С#?
Есть ли какой-либо метод С#, где я могу передать объект управления Html и вернуть изображение этого элемента управления html?
Возможно ли, какие-либо предложения?
Мы использовали http://iecapt.sourceforge.net/ для преобразования HTML в изображение. Вы можете попробовать. Он доступен для БЕСПЛАТНО.
Рассмотрим эту (непроверенную!) библиотеку над guangmingsoft под названием htmlsnapshot.
добавить ссылку на htmlsnap2.dll
Там есть пример проекта для загрузки.
Вот их примерный код, снятый прямо из этой ссылки:
snap = new CHtmlSnapClass();
snap.Url("www.google.com", "*")
byte[] data = (byte[])snap.GetImageBytes(".jpg");
//byte[] data = (byte[])snap.GetThumbImageBytes(".jpg", 100, 100, 1);
FileStream fs = File.OpenWrite(@"c:\1.jpg");
BinaryWriter br = new BinaryWriter(fs);
br.Write(data);
br.Close();
fs.Close();
Обновление Если вам нужен только определенный элемент управления, вы можете написать себе страницу, задачей которой является повторное отображение целевого элемента управления как единственных фрагментов HTML на странице.
Элемент управления, который вы описываете, имеет в качестве выходного HTML. Это все, что он делает.
Ваша проблема в том, что вы хотите превратить фрагмент HTML в изображение. Рендеринг HTML выполняется браузером - ASP.NET не имеет ничего общего с тем, как HTML визуализируется клиентом.
Большинство .NET-библиотек, которые выполняют эту работу (превращая HTML в изображения), используют IE для преобразования. Некоторые из этих утилит включают в себя:
Но более простой ответ на этот вопрос заключается в том, что элементы управления ASP.NET не отображают формат изображения. Вам нужно будет сделать снимок экрана IE на странице, на которой есть только этот элемент управления (или HTML).
Я не пробовал это сам, но кое-что, что я хотел посмотреть, может помочь вам: HTMLRenderer.
Вам нужно создать отдельную страницу, которая должна быть преобразована в изображение и вызвать ее в iframe. Затем попробуйте следующее:
http://articles.sitepoint.com/article/generating-asp-net-images-fly
ИЛИ
http://www.guangmingsoft.net/wordpress/convert-html-to-image-without-temporary-files-in-c/