Поскольку вы используете это в расширениях Chrome, API вкладок имеет метод с именем captureVisibleTab , который позволяет захватывать видимую область выбранной в данный момент вкладки в указанном окне.
Чтобы использовать это, вы просто добавляете "вкладки" к своему разрешению манифесту. А со своей фоновой страницы или всплывающего окна (или любой другой страницы расширения) вы просто вызываете этот метод следующим образом:
chrome.tabs.captureVisibleTab(null, {}, function (image) {
// You can add that image HTML5 canvas, or Element.
});
Вы можете управлять свойством, добавив {quality: 50} и изменив формат, тоже все описано в документах, упомянутых выше.
Прелесть HTML5 в том, что вы можете изменять это изображение с помощью HTML5 Canvas, вы можете очень легко манипулировать, преобразовывать, изменять, вырезать все, что вы хотите!
Надеюсь, это то, что вы ищете! С Новым Годом!