На вашем месте я бы пропустил рендеринг текста на холсте и применил к CSS div
некоторые правила CSS, чтобы он отображался сверху.Подход CSS улучшает производительность , а также улучшает доступность.Слепой человек, использующий программу чтения с экрана, сможет выяснить, что находится в div
, но чтение текста в canvas
не поддерживается.Самое главное, что гораздо проще рассуждать о HTML и CSS, чем рассуждать о визуализации текста в элементе canvas
.Как часто вы будете это делать?Когда вы вернетесь, чтобы изменить код через месяц, шесть месяцев или год, вам будет легче изменить HTML / CSS, чем заново продумывать логику рендеринга Canvas!
Для этого используйте следующий CSS для div wrapper
:
.wrapper{
position: absolute;
top: 0px;
color: red;
font-size: 60px;
margin : 20px;
}
position: absolute
позволяет div
перекрывать холст, а свойства top
, bottom
, left
иright
позволяет вам контролировать, как далеко смещение div
от краев его родителя (в этом случае wrapper
является дочерним для body
).Я изменил цвет и размер шрифта, чтобы было очевидно, что он работает.
А вот ссылка на рабочий пример: https://codepen.io/anon/pen/LqoroR