2012-01-19 3 views

ответ

0

Update

Вы можете использовать эту библиотеку, чтобы задать различные свойства шрифта для рендеринга текста на холсте.

http://txtjs.com/

оригинальный пост

Свойства шрифта на контекст холста не существует (по крайней мере пока).

Вместо этого вы можете создать строковые переменные, а затем объединить их вместе.

var fontStyle = "italic"; 
var fontWeight = "bold"; 
var fontSize = "24px"; 
var fontFamily = "Verdana"; 
var b = " "; 

context.font = fontStyle + b + fontWeight + b + fontSize + b + fontFamily; 


Этот пример показывает, как можно использовать объектные переменные:

var myFont = { 
    style: "italic", 
    weight: "bold", 
    size: "24px", 
    family: "Verdana" 
} 

var b = " "; 

function canvasFont(font) { 
    context.font = font.style + b + font.weight + b + font.size + b + font.family; 
} 

myFont.size = "20px"; 
canvasFont(myFont); 

Вот это JS Fiddle Example.

+1

Правильно, я могу установить свойства таким образом. Но моя проблема в том, что я хочу написать функцию, которая устанавливает, например. только FontSize до 20px, не зная, какие fontFamily и fontStyle в настоящее время находятся в контексте. – Dennis

+0

Я хотел бы расширить контекст canvas с помощью некоторых полезных функций, таких как context.drawText (x, y, text, options). Таким образом, пользователь может, например, set context.font = "10px Arial" где-то в начале его скрипта. А затем просто используйте context.drawText (10, 10, «текст», {fontSize: «12px»}). Так что ему не нужно указывать fontFamily каждый раз, когда он рисует какой-то текст. – Dennis

+0

Извините, эта штукатурка на холсте меня смутила. Ваша идея правильная. Благодаря! – Dennis

Смежные вопросы