HTML5 Canvasで大きなフォントを描画する方法を解説
HTML5 Canvasで大きなフォントを正しく描くには?
HTML5のCanvas要素に大きなサイズのフォントを描画したい場合、fontプロパティにフォントサイズとフォントファミリーを指定し、fillText()やstrokeText()メソッドを使うことで実現できます。
以下に、大きな文字を描画するサンプルコードを紹介します。この例では、180ptのGeorgiaフォントを使用し、塗りつぶしと輪郭線の両方を設定しています。
サンプルコード
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
context.font = '180pt Georgia';
context.strokeStyle = "#FF0000";
context.fillStyle = "#FFFFFF";
context.lineWidth = 34;
context.fillText("Demo!", 0, 200);
context.strokeText("Demo!", 0, 200);コードの解説
各設定項目の役割は以下の通りです。
context.font
フォントのスタイル、サイズ、種類をまとめて指定します。「'180pt Georgia'」のように記述することで、180ptサイズのGeorgiaフォントが適用されます。
context.strokeStyle
文字の輪郭線の色を指定します。この例では赤(#FF0000)が設定されています。
context.fillStyle
文字の塗りつぶしの色を指定します。この例では白(#FFFFFF)が設定されています。
context.lineWidth
輪郭線の太さをピクセル単位で指定します。値を大きくすると、より太く力強い縁取りになります。
fillText() / strokeText()fillText()は塗りつぶした文字を描画し、strokeText()は輪郭線のみの文字を描画します。両方を呼び出すことで、塗りつぶし+縁取りの装飾的なテキストが完成します。引数の「0, 200」は、文字列を描画する開始位置のX座標・Y座標です。
注意点
Canvasからコンテキストを取得する際は、必ずCanvas要素そのものに対してgetContext("2d")を呼び出してください。変数名を誤るとエラーになるため注意が必要です。また、フォントサイズが大きい場合は、Canvas要素自体の幅と高さも十分に確保しておきましょう。
-
HTML5のCanvasにSVGファイルを描画する方法
Canvas(キャンバス)にSVGを描画するには、SVGを画像として扱う必要があります。まず、HTMLコンテンツを含めるための<foreignObject>要素を使ってSVGデータを構築し、その後、生成したSVG画像をCanvas上に描画します。 具体的な流れは以下の通りです。 処理の手順 SVG文字列を作成する:<svg>要素の中に<foreignObject>要素を配置し、その中にXHTML名前空間(xmlns=https://www.w3.org/1999/xhtml)を指定したHTMLを記述します。 Blobオブジェクトに変換する:作成したSVG文
-
HTML5 Canvasを使って星を描く方法を解説
HTMLのcanvas要素に描画を行うには、JavaScriptを使用します。実際に描き始める前に、HTML DOMメソッドであるgetElementById()とgetContext()を使って、キャンバスへの参照と描画コンテキストを取得しておく必要があります。HTMLで星を描くには、canvas要素を利用します。星形を描く際にはlineTo()メソッドが便利です。このメソッドはx座標とy座標の2つのパラメータを受け取り、その位置へ線を引くことで図形を形成していきます。まず、HTMLドキュメント内にキャンバスを配置する方法から見ていきましょう。サンプルコード以下のコードを実行すると、HTML