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.
Правильно, я могу установить свойства таким образом. Но моя проблема в том, что я хочу написать функцию, которая устанавливает, например. только FontSize до 20px, не зная, какие fontFamily и fontStyle в настоящее время находятся в контексте. – Dennis
Я хотел бы расширить контекст canvas с помощью некоторых полезных функций, таких как context.drawText (x, y, text, options). Таким образом, пользователь может, например, set context.font = "10px Arial" где-то в начале его скрипта. А затем просто используйте context.drawText (10, 10, «текст», {fontSize: «12px»}). Так что ему не нужно указывать fontFamily каждый раз, когда он рисует какой-то текст. – Dennis
Извините, эта штукатурка на холсте меня смутила. Ваша идея правильная. Благодаря! – Dennis