Библиотека JavaScript для получения пиксельных данных символа в шрифте на основе этого ответа stackoverflow. Посетите эту страницу для демо-версии.
var pixelarray = fontpixels . generatepixels ( text , resolution , fontFamily , width , lines ) ;
// supports ascii...
text = "A" ;
// and unicode
text = "╫" ;
Рекомендуется вставлять только символ текста, поскольку расстояние между буквами немного необычное.
resolution = 30 ;
Разрешение определяет как размер вывода, так и его детализацию. Более высокие разрешения позволяют получить более крупные массивы пикселей и большую детализацию.
fontFamily = "Times New Roman" ;
Шрифт текста. Убедитесь, что шрифт загружен, прежде чем вызывать fontpixels.generatepixels()
. Я бы порекомендовал WebFont в качестве загрузчика шрифтов.
width = 0.3 ;
Толщина линии текста. Обычно достаточно значений от 0 до 1. Работает только тогда, когда для lines
установлено значение true. Соответствует свойству холста ctx.lineWidth
.
lines = false ;
Рисовать ли текст в виде линий, например HTML5 Canvas ctx.strokeText()
.
console . log ( pixelarray ) ;
//[{x: 2, y: 4}, {x: 5, y: 6} ...]
Выходные данные представляют собой массив значений (x, y) пикселей. Вы можете использовать пиксели, перебирая их.
pixelarray . forEach ( function ( value ) {
console . log ( value . x , value . y ) ;
} ) ;