2010-08-24 1 views
3

Я создал простую программу компоновки страниц для клиента и хотел бы предоставить эскиз таких страниц, как палитра страниц в InDesign. Можно ли использовать элемент canvas HTML5 для создания копии одного элемента.Создание растровой копии элемента с использованием холста

Например, каждая страница является тегом статьи. Я хочу скопировать эту статью с помощью холста и уменьшить ее, чтобы сказать 10%, а затем нарисовать ее на экране.

ответ

3

В текущем методе нет моментальных снимков частей страницы в спецификации холста. Firefox расширяет элемент canvas с помощью метода drawWindow(), который принимает координаты и размеры области, в которой вы хотите сделать снимок. Однако этот метод доступен только для скриптов, работающих с привилегиями на уровне хрома из-за проблем с безопасностью. Комментарий по методу в коде указывает на то, что это может измениться в будущем:

// We can't allow web apps to call this until we fix at least the 
// following potential security issues: 
// -- rendering cross-domain IFRAMEs and then extracting the results 
// -- rendering the user's theme and then extracting the results 
// -- rendering native anonymous content (e.g., file input paths; 
// scrollbars should be allowed) 

http://mxr.mozilla.org/mozilla/source/content/canvas/src/nsCanvasRenderingContext2D.cpp#2352

+0

Спасибо Энди. Жаль, что это невозможно сделать, но не волноваться. –

0

Хотя это не использует холст в Firefox 4+ можно использовать любой HTML-элемент в качестве фоновое изображение другого элемента. Подробная информация здесь: https://developer.mozilla.org/en/CSS/-moz-element