我正在使用HTML5的畫布使用fillText方法呈現多個字符串。這工作正常,但我也想給每個字符串1px黑色外部描邊。不幸的是,strokeText函數似乎應用了一個內部中風。爲了解決這個問題,我寫了一個drawStrokedText函數來實現我之後的效果。不幸的是它很慢(顯而易見的原因)。使用HTML5的畫布繪製具有外部筆畫的文本
是否有一種使用本地畫布功能實現1px外部筆劃的快速,跨瀏覽器方式?
drawStrokedText = function(context, text, x, y)
{
context.fillStyle = "rgb(0,0,0)";
context.fillText(text, x-1, y-1);
context.fillText(text, x+1, y-1);
context.fillText(text, x-1, y);
context.fillText(text, x+1, y);
context.fillText(text, x-1, y+1);
context.fillText(text, x+1, y+1);
context.fillStyle = "rgb(255,255,255)";
context.fillText(text, x, y);
};
這裏工作時的效果的例子:
如何渲染與'strokeText'文本,但有一個稍大的字體,以佔內中風? 另外,在'drawStrokedText'方法上,你可以跳過水平/垂直移位。 (你似乎已經失去了垂直,任何方式) – Cerbrus