Une bibliothèque javascript pour obtenir les données de pixels d'un personnage dans une police basée sur cette réponse stackoverflow. Consultez cette page pour une démo.
var pixelarray = fontpixels . generatepixels ( text , resolution , fontFamily , width , lines ) ;
// supports ascii...
text = "A" ;
// and unicode
text = "╫" ;
Il est recommandé d'insérer uniquement un caractère pour le texte car l'espacement entre les lettres est un peu génial.
resolution = 30 ;
La résolution détermine à la fois la taille de la sortie et le détail de la sortie. Des résolutions plus grandes génèrent des tableaux de pixels plus grands et plus de détails.
fontFamily = "Times New Roman" ;
Police du texte. Assurez-vous que la police est chargée avant d'appeler fontpixels.generatepixels()
. Je recommanderais WebFont pour un chargeur de polices.
width = 0.3 ;
Largeur de ligne du texte. Les valeurs comprises entre 0 et 1 sont généralement suffisantes. Ne fonctionne que lorsque lines
sont définies sur true. Correspond à la propriété canvas ctx.lineWidth
.
lines = false ;
S'il faut dessiner le texte sous forme de lignes, comme le canevas HTML5 ctx.strokeText()
.
console . log ( pixelarray ) ;
//[{x: 2, y: 4}, {x: 5, y: 6} ...]
La sortie est un tableau de valeurs (x, y) des pixels. Vous pouvez utiliser les pixels en les itérant.
pixelarray . forEach ( function ( value ) {
console . log ( value . x , value . y ) ;
} ) ;