Comments 32
Отлично. Первое-же пожелание — добавить web-интерфейс. Чтобы можно было скриптом с параметрами обращаться к программе для получения скрина.
Посмотрите на www.thumbalizr.com/
А какой браузерный движок использует приложение? MSIE? Нет ли планов сделать возможность выборить движок для рендера страниц?
Спасибо за приложение, возможность выбрать разрешение очень полезная функция х)
Спасибо за приложение, возможность выбрать разрешение очень полезная функция х)
Используется стандартный элемент управления WebBrowser, которые является аналогом IE. Как вариант решения, необходимо добавить возможность выбора операционной системы и браузера, которым мы хотим «просматривать» страницу.
Программно это можно сделать, задав для WebClient UserAgent:
WebClient client = new WebClient();
client.Headers.Add(«user-agent», «Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)»);
В данном случае заходим рендеринг будет осуществляться для FireFox.
Программно это можно сделать, задав для WebClient UserAgent:
WebClient client = new WebClient();
client.Headers.Add(«user-agent», «Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)»);
В данном случае заходим рендеринг будет осуществляться для FireFox.
Погуглил на тему выбора различных движков.
Gesko: code.google.com/p/geckofx/
Еще есть здесь:
stackoverflow.com/questions/26147/is-it-possible-to-embed-gecko-or-webkit-in-a-c-net-win-form-just-like-a-webview
Gesko: code.google.com/p/geckofx/
Еще есть здесь:
stackoverflow.com/questions/26147/is-it-possible-to-embed-gecko-or-webkit-in-a-c-net-win-form-just-like-a-webview
Про интеграцию WebKit я предоставлял недавно ссылку на проект WPF Browser — использование данного движка в .net — habrahabr.ru/blogs/net/68066/
Вообще вы молодец, но позвольте пару замечаний, которые, надеюсь, разовьют ваш проект дальше:
а) Делайте скриншот страницы в отдельном потоке, например с помощью BackgrondWorker, ну и соответственно в библиотеке сделайте возможность запускать это асинхронно.
б) Подредактируйте немного интерфейс. После ввода url хотелось бы по нажатию Enter получать картинку, и вообще отыскать кнопку в Toolbar'e не так уж и просто, сделайте лучше здоровую кнопку «Поехали» :)
в) если ввести адрес, что то вроде habrahabr.ru, то хотелось бы, чтобы автоматом подставлялось http.
г) Обратите внимание на вывод ошибок (вызовите ее при помощи пункта (в)) — вы явно перепутали где title а где текст сообщения.
д) А это в долгий ящик — может быть все таки просматривать страницу, потому как бывают всякие flash и silverlight на которых нужно еще что то нажать, чтобы увидеть именно тот View который вам нужен.
P.S. Красивый и грамотный код, за что вам спасибо, и удачи в развитии проекта!
а) Делайте скриншот страницы в отдельном потоке, например с помощью BackgrondWorker, ну и соответственно в библиотеке сделайте возможность запускать это асинхронно.
б) Подредактируйте немного интерфейс. После ввода url хотелось бы по нажатию Enter получать картинку, и вообще отыскать кнопку в Toolbar'e не так уж и просто, сделайте лучше здоровую кнопку «Поехали» :)
в) если ввести адрес, что то вроде habrahabr.ru, то хотелось бы, чтобы автоматом подставлялось http.
г) Обратите внимание на вывод ошибок (вызовите ее при помощи пункта (в)) — вы явно перепутали где title а где текст сообщения.
д) А это в долгий ящик — может быть все таки просматривать страницу, потому как бывают всякие flash и silverlight на которых нужно еще что то нажать, чтобы увидеть именно тот View который вам нужен.
P.S. Красивый и грамотный код, за что вам спасибо, и удачи в развитии проекта!
Спасибо за ваш отзыв и замечания! Обязательно учту.
И еще в Win7 (у меня x64) после того как сделаешь граб и закроешь вылазит Program Compatibility Assistant — «This program requires flash.ocx, which is no longer included in this version of Window». Это скорее всего из-за WebBrowser но может как то можно побороть.
Еще добавлю что картинки сохраняются не в jpg, а в png… редактор ругается на неверный формат.
Саму программу ещё не смотрел. Позвольте замечание по тексту поста.
«Website Screenshots & Thumbnails Extractor — это Windows приложение, написанное на .NET Framework 3.5 и доступное с исходным кодом»
Эта фраза, идущая во главе текста и являющаяся определением, ничего не говорит о программе. А ведь именно здесь следовало бы кратко резюмировать суть программы.
Примеры можно найти в любой качественной статье из Википедии. Там отдельное внимание уделяется тому, чтобы в первом предложении дать супер-краткую суть; в первом абзаце — чуть более подброно; во введении описать основное; в статье описать всё, что нужно.
«Website Screenshots & Thumbnails Extractor — это Windows приложение, написанное на .NET Framework 3.5 и доступное с исходным кодом»
Эта фраза, идущая во главе текста и являющаяся определением, ничего не говорит о программе. А ведь именно здесь следовало бы кратко резюмировать суть программы.
Примеры можно найти в любой качественной статье из Википедии. Там отдельное внимание уделяется тому, чтобы в первом предложении дать супер-краткую суть; в первом абзаце — чуть более подброно; во введении описать основное; в статье описать всё, что нужно.
Собственно, у вас даже всё написано уже. Просто нужно местами поменять.
«Website Screenshots & Thumbnails Extractor — это Windows приложение для извлечения скриншотов и превьюшек сайтов».
А чуть ниже — «для работы требуется .NET Framework 3.5, программа доступна с исходным кодом».
«Website Screenshots & Thumbnails Extractor — это Windows приложение для извлечения скриншотов и превьюшек сайтов».
А чуть ниже — «для работы требуется .NET Framework 3.5, программа доступна с исходным кодом».
Полностью с вами согласен, но мне кажется, что название программы говорит само за себя. В любом случае сейчас подправлю. Спасибо.
В принципе, да. Название подробное и говорит само за себя. Но оно всё же на английском, да и мало ли что могут значить слова в названии.
« это Windows приложение для извлечения скриншотов и превьюшек сайтов с открытым исходным кодом» — плохо, т. к. создаётся ощущение, что для вашей программы подходят только сайты с открытым исходным кодом. ;)
Будет лучше поменять порядок слов:
« это Windows приложение с открытым исходным кодом, предназначенное для извлечения скриншотов и превьюшек сайтов»
Чёрт, что на меня нашло — так привязался. ;) Простите уж, как-то прицепилось.
Будет лучше поменять порядок слов:
« это Windows приложение с открытым исходным кодом, предназначенное для извлечения скриншотов и превьюшек сайтов»
Чёрт, что на меня нашло — так привязался. ;) Простите уж, как-то прицепилось.
Использую fireshot как плагин к firefox. В базовой версии бесплатный, мне ее хватает. И никакого дотнета ставить не надо.
Да, но нужен firefox помоему это равноценно, тем более что такое приложение через клиентский профайл можно поставить и без дотНета
Не равноценно. Порядка 9 мб против 250 мб. И firefox у меня все равно установлен.
Чтобы сделать скриншот мне нужно всего лишь щелкнуть кнопочку в статусбаре firefox, когда я просматриваю сайт. Не нужно ничего запускать.
Чтобы сделать скриншот мне нужно всего лишь щелкнуть кнопочку в статусбаре firefox, когда я просматриваю сайт. Не нужно ничего запускать.
Я говорю вообще про клиентПрофайл когда ставить когда размер фремворка уменьшается до 25Мб, это реально. Во-вторых у многих он стоит по апдейту, в 7-ку вообще 3.5 версия установлена поумолчанию, в других версиях — другая версия фреймворка предустановлена
Это у вас стоит фаерфокс, у многих пользователей он не стоит.
Хотя в качестве плагина такая утилита лучше. Но по сути какая разница. Опять же не все используют фаерфокс
Это у вас стоит фаерфокс, у многих пользователей он не стоит.
Хотя в качестве плагина такая утилита лучше. Но по сути какая разница. Опять же не все используют фаерфокс
Ссылка не вставилась screenshot-program.com/fireshot/
Здесь проблема с валидацией ввода пользователя нужно добавлять автоматически хттп преффикс
чтобы было www.screenshot-program.com/fireshot/
чтобы было www.screenshot-program.com/fireshot/
Если кому интересно на Qt — code.google.com/p/webshot/
А планируется ли порт на другие платформы? +) Ну или хотя бы аналоги есть?
буквально месяц назад на нашем проекте решали очень похожую задачу. Разница в том, что нам нужен был сервис, делающий скрин произвольного сайта. После часа гугления, я попробовал вариант с webbrowser, фактически ie. Вскрылось несколько проблем: иногда оно просто не могло отрендерить страницу, иногда падало с .net runtime error. Решением стало использование geckofx плюс рендеринг решено было производить в отдельном процессе, а не потоке, чтобы максимально обезопасить сам сервис.
Sign up to leave a comment.
Website Screenshots & Thumbnails Extractor