Элемент canvas, к сожалению, плохо обрабатывает текст. Существует множество подходов (см., Например, http://canvaspaint.org/blog/2006/12/rendering-text/), но они в основном выглядят как хаки. Что я могу сделать, это кросс-платформенный и дает мне максимальную гибкость, чтобы мои шрифты были такими, как я хочу?Каков наилучший способ нарисовать текст на элементе холста HTML?
ответ
Вы посмотрели шрифт .js, http://typeface.neocracy.org. Я слышал, что он довольно прост для написания текста. Вот со своего сайта:
«typeface.js использует возможности векторного рисования для браузера для рисования текста в HTML-документах. В то время как браузеры поддерживали векторный рисунок - Firefox, Safari и Opera поддерживают элемент <canvas>
(а также SVG), а IE поддерживает VML.
Проект typeface.js имеет два компонента: модуль perl для преобразования шрифтов и библиотеку javascript для рисования в браузере. Модуль perl извлекает информацию о символе глифа из truetype и записывает данные в формате JSON. Затем библиотека javascript обходит документ HTML и визуализирует текст с помощью <canvas>
или VML для рисования глифов.
В браузерах, поддерживающих <canvas>
, текст можно выбрать, но вы должны иметь веру. Когда вы выбираете, нет обратной связи, нет подсветки, чтобы вы знали, что она работает. Дальнейшая работа будет направлена на реализацию лучшего, поддержку кросс-браузер для выбора текста с подсветкой «(цитата из http://typeface.neocracy.org/usage.html)
Если вы хотите использовать текстовые методы HTML5, вы должны попробовать эту библиотеку:. http://code.google.com/p/canvas-text/ Я . основной разработчик, так что я могу помочь, и внести изменения очень быстро
демонстрационные здесь: http://canvas-text.googlecode.com/svn/trunk/examples/index.html
Он все еще находится в стадии альфа, поэтому любой отчет об ошибке и отзывы приветствуются :)
- 1. Каков наилучший способ изменить текст метки в пользовательском элементе управления?
- 2. Каков наилучший способ создания вложенного холста opengl
- 3. Каков наилучший способ выровнять текст в центре HTML
- 4. Как нарисовать поверх видео на элементе холста?
- 5. Каков наилучший способ отметить любой текст?
- 6. Каков наилучший способ заполнить или нарисовать изображение на Java?
- 7. Каков наилучший способ отображения индикатора загрузки «» на элементе управления WPF
- 8. Каков наилучший способ сжать большой текст?
- 9. Каков наилучший способ «обернуть текст» на веб-странице
- 10. Каков наилучший способ исправить проблемы компоновки HTML?
- 11. Каков наилучший способ вставки HTML через PHP?
- 12. html текст переполнения текста холста
- 13. Каков наилучший способ окраски части письма?
- 14. Каков наилучший способ удалить HTML из строки?
- 15. углы измерения на элементе холста HTML 5?
- 16. Каков наилучший способ отображения html через java
- 17. Каков наилучший способ обрезать изображение в HTML?
- 18. Каков наилучший способ обработки HTML в Python?
- 19. Каков наилучший способ скрыть элементы HTML?
- 20. Каков наилучший способ преобразования HTML в Excel
- 21. Каков наилучший способ отправить html/image email?
- 22. Каков наилучший способ отображения HTML в Flex?
- 23. Каков наилучший способ включить длинный статический текст в JasperReport/iReport?
- 24. Каков наилучший способ нарисовать фигуры с холстом и задать угол?
- 25. Каков наилучший способ перестроить checkboxex в пользовательском элементе .Net WinForm?
- 26. Каков наилучший способ нарисовать этот эллипс в приложении для iPhone?
- 27. Каков наилучший способ нарисовать кучу (~ 200) цветных прямоугольников в какао?
- 28. Как нарисовать вне элемента холста HTML?
- 29. Каков наилучший способ удалить html-теги с html-страницы?
- 30. Каков наилучший способ проверить, содержит ли текст элемента предопределенный текст
это ссылка устарела, и спецификация, на которую указывает, была обновлена до учтите текстовую диаграмму api. Для аналогичного (и, надеюсь, полезного) вопроса см. Http://stackoverflow.com/questions/719848/how-do-you-draw-text-on-a-canvas-tag-in-safari –
fillText() только поддерживается в бета-версиях Safari и Firefox (не уверен в других браузерах), что не делает его очень полезным. Различные хаки, упомянутые в моей ссылке, в основном кросс-платформенные. – swampsjohn