0
我設置了HTML5畫布的字體:的Javascript帆布 - 獲取簡單的字體屬性
context.font = "italic bold 24px Verdana";
有沒有辦法單獨檢索這些屬性像CSS?
我想是這樣的:
context.fontStyle,context.fontWeight,context.fontSize,context.fontFamily
我設置了HTML5畫布的字體:的Javascript帆布 - 獲取簡單的字體屬性
context.font = "italic bold 24px Verdana";
有沒有辦法單獨檢索這些屬性像CSS?
我想是這樣的:
context.fontStyle,context.fontWeight,context.fontSize,context.fontFamily
你可以使用這個庫來設置各種字體屬性在畫布上呈現文字。
畫布背景字體的屬性不存在(至少目前還沒有)。
相反,您可以創建字符串變量,然後將它們連接在一起。
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
我想用context.drawText(x,y,text,options)等一些有用的函數來擴展canvas上下文。所以用戶可以例如在腳本的開頭處設置context.font =「10px Arial」。然後使用context.drawText(10,10,「text」,{fontSize:「12px」})。這樣,每次他繪製文本時,他都不需要指定fontFamily。 – Dennis
對不起,這個畫布字體讓我感到困惑。你的想法是對的。謝謝! – Dennis