スマートフォンやhtml5+CSS3など新技術に四苦八苦。jQuery、AjaxなどJavaScriptも難しいですね。そんなWebに悩む人のネタ帳です。

前回に引き続きテキストを描いてみます。
KineticJS入門 – 図形を描いてみる
Canvasエリアの用意や、ライブラリの読み込みなどは前回を参照してください。

テキストを描く

テキストの描写には関数Textをコールします。
以下、「sample text」という文字を、赤文字で描写するシンプルな例です。

window.onload = function() {
	var stage = new Kinetic.Stage({
		container:"canvas1", 
		width:300, 
		height:100
	});
	var layer = new Kinetic.Layer();
	var text = new Kinetic.Text({
		x:100, 
		y:50, 
		text:'sample text', 
		textFill:"red"
	});
	layer.add(text);
	stage.add(layer);
};

前回と同様に、Textオブジェクトをオブジェクトlayerに追加し、さらにそのオブジェクトlayerをオブジェクトstageに追加します。

テキストを装飾する

公式サイトにあるように、さまざまなオプションを設定して、文字を装飾してみます。

	var text = new Kinetic.Text({
		x:150, 
		y:30, 
		fontStyle:"italic", 
		fontSize:30, 
		stroke:"red", 
		align:"center", 
		strokeWidth:5, 
		textStroke:"green", 
		textStrokeWidth:1, 
		text:'sample text', 
		textFill:"yellow", 
		alpha:0.8, 
		rotation:0.2
	});

努力すれば、簡単なロゴぐらいなら描くことができそうですね。

日本語を描写してみる

使う場面はほとんどないと思いますが、日本語が使用可能か試してみました。

	var text = new Kinetic.Text({
		x:50, 
		y:50, 
		text:'日本語サンプルさんぷるsample', 
		textFill:"blue"
	});

予想に反して、問題なく表示されました。

「fontFamily」オプションを使えば、フォント指定も可能なようです。
しかし、JavaScript処理なので、ローカルのデバイスフォントが使用されると思われます。環境依存を考慮して、指定には注意しなければいけないでしょう。

Canvasのテキストは、画像要素のようにaltを指定できないので、SEO的には弱いかもしれません。
しかし、動的な表示が可能なので、限定した場面では利用できそうです。

このエントリーをはてなブックマークに追加

Comment

Comment Form

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Monthly Archives

Search