Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Сделать скриншот части страницы (https://javascript.ru/forum/events/59372-sdelat-skrinshot-chasti-stranicy.html)

cyber_bober 08.11.2015 15:38

Сделать скриншот части страницы
 
Привет. Делаю генератор анонсов для соц сетей. В него подгружается фоновое изображение и текст поверх. Собрал сначала через canvas, но столкнулся с проблемой сглаживания шрифта.

Шрифт выглядит очень грубо(хотя подгружал даже векторный исходник) и нет возможности настроить letter-spacing для него.

Поэтому интересно, можно ли по клику сделать скриншот определенного блока и скачать его как jpg/png? Есть ведь сервисы, которые делают скриншоты страниц. Кто что знает об этом?

Спасибо.

UPD. Видел решения с участием сервер, хочется найти решение только на клиенте.

EmperioAf 08.11.2015 18:01

http://blog.ircit.ru/post/javascript...oka-stranitsy/

cyber_bober 09.11.2015 08:42

EmperioAf,
спасибо

cyber_bober 09.11.2015 08:46

Я нашел решение, если вы наткнулись на эту тему, потому что столкнулись со схожей проблемой, то я сейчас опишу что для этого нужно:
подключаете три библиотеки
html2canvas.js - переводит область в canvas
canvas-to-blob.js - переводит canvas в блоб
FileSaver.js - скачивает

function exportimage(){
      html2canvas($('#image'), {
      onrendered: function (canvas) {
      canvas.toBlob(function(blob) {
      saveAs(blob ,"image.png");
      }, "image/png");
      var img = canvas.toDataURL('image/png').replace("image/png", "image/octet-stream");
      window.location.href = img;    
      }
      });
      }


Часовой пояс GMT +3, время: 16:15.