現在、HTML5 のキャンバスを使用して、fillText メソッドを使用して多数の文字列をレンダリングしています。これは問題なく動作しますが、各文字列に 1 ピクセルの黒い外側のストロークも付けたいと思います。残念ながら、 strokeText 関数は内側のストロークを適用しているようです。これに対抗するために、目的の効果を実現する drawStrokedText 関数を作成しました。残念ながら、(明らかな理由で)非常に遅いです。
ネイティブのキャンバス機能を使用して 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);
};
効果の例を次に示します。