Firefox 3.1のHTML 5対応を検証--Canvas Text APIとCanvas Shadow API
前回に引き続き、Firefox 3.1でサポートが追加される予定のHTML 5におけるCanvas機能を紹介する。
Canvas上のテキストの垂直/水平位置を設定する
Canvas Text APIで追加されるプロパティのうち、残る2つのプロパティであるtextBaselineとtextAlignは、それぞれテキストの垂直および水平位置を決定するために使用される。
まずtextBaselineプロパティでは、top、hanging、middle、alphabetic、ideographic、bottomのいずれかを使用してテキストのベースラインを指定できる。デフォルトはalphabeticになっている。HTML 5のドラフトでは、それぞれ図1の位置を表すとしている。
リスト1は、textBaselineプロパティの値をデフォルト(alphabetic)、top、middleと指定し、それぞれ色を変えて描画した例である。 これをFirefox 3.1 Alpha 1で表示すると図2のようになり、垂直位置が変更されているのがわかる。
なお、ソースコードの全容は前回の記事「Firefox 3.1で強化されるHTML 5対応--Canvas Text APIを検証」を参照していただきたい。
リスト1 テキストの垂直位置を指定
// 2Dコンテキストを取得
var ctx = canvas.getContext('2d');
var str = "Welcome to the new world, sir.";
ctx.font = "32px Serif";
// 直線を描く
ctx.strokeStyle = "Silver";
ctx.beginPath();
ctx.moveTo(0, 40);
ctx.lineTo(450, 40);
ctx.closePath();
ctx.stroke();
// テキストの描画
ctx.fillStyle = "Red";
ctx.fillText(str, 20, 40);
ctx.textBaseline = "top";
ctx.fillStyle = "Blue";
ctx.fillText(str, 20, 40);
ctx.textBaseline = "middle";
ctx.fillStyle = "Green";
ctx.fillText(str, 20, 40);
水平位置はtextAlignプロパティで指定する。textAlignに指定できる値はstart、end、left、right、centerのいずれかで、これによってテキストのアンカーポイントがインラインボックスのどの位置になるかが決定される。
例えばleftやstart(かつcanvas要素のdirectionプロパティのコンビューテッド値がltr)ならば左端となり、rightやend(かつcanvas要素のdirectionプロパティのコンビューテッド値がltr)ならば右端、centerならば真ん中となる。デフォルトはstartとなっている。
リスト2は、textAlignプロパティの値をデフォルト(start)、center、endと指定し、それぞれ色を変えて描画した例である。これをFirefox 3.1 Alpha 1で表示すると図3のようになり、水平位置が変更されているのがわかる。
リスト2 テキストの水平位置を指定
// 2Dコンテキストを取得
var ctx = canvas.getContext('2d');
var str = "Welcome to the new world, sir.";
ctx.font = "32px Serif";
// 直線を描く
ctx.strokeStyle = "Silver";
ctx.beginPath();
ctx.moveTo(300, 0);
ctx.lineTo(300, 140);
ctx.closePath();
ctx.stroke();
// テキストの描画
ctx.fillStyle = "Red";
ctx.fillText(str, 300, 40);
ctx.textAlign = "center";
ctx.fillStyle = "Blue";
ctx.fillText(str, 300, 80);
ctx.textAlign = "end";
ctx.fillStyle = "Green";
ctx.fillText(str, 300, 120);
- 0人の推薦記事
- 0人がクリップ
-
ソーシャルブックマーク(-)
- トラックバック(0)
-
- タグ
- オフセット
- ドラフト
- ベースライン
- テキスト
- アンカーポイント
- ブラウザ
- サポート
- プロパティ
- Gecko
- Safari
- HTML
- color
- 2Dコンテキスト
- shadowBlur
- shadowColor
- shadowOffsetX
- shadowOffsetY
- Gecko 1.9.1
- 影
- stroke
- fill
- Safari 3.1.2
- hanging
- middle
- alphabetic
- ideographic
- bottom
- Firefox 3.1 Alpha 1
- start
- end
- left
- right
- center
- インラインボックス
- direction
- コンビューテッド値
- ltr
- Canvas Shadow API
- 垂直
- 水平
- top
- Canvas Text API
- textBaseline
- textAlign
- Firefox 3.1
- Canvas
- Safari 3
- Webデザイン
- HTML 5
- Firefox 3
- 特集: 開発者のFirefox 3 (69件)
- ホワイトペーパー
- 企画特集
インターネット上の悪意を未然に防ぐには?
【徹底対談】運用管理ツールの賢い使い方
セキュリティ&ユーザ事例【SIer Club】
今注目の「サジェスト検索」−デモ掲載中
SOA、BPM、SaaS −今、企業に必要なこと
御社のログ活用しませんか!?
中小企業のセキュリティリスクとは?
集積度も性能も、業界最高水準のブレードPC
仮想環境を実現するソリューション特集
ストレージメディア特設サイト開設
パンデミック対策特集
ロリポップ!がリニューアル
そのストレージで仮想化に対応できますか?
◆エン・ジャパン厳選求人☆毎週更新◆
ESBでIT投資の無駄を劇的に解消する
- サービス・ドリヴン・データセンター
- エンタープライズにおけるSUSEの強み
- サーバー監視・運用のコストを削減するには
- ■ストレージ容量50%削減保証■
- 話題のタグ



Windows 7はLinuxへの切替が簡単:注目の仮想ディスクフォーマット「VHD」
iPhone OS 3.0で変わった「絵文字」
OSSのクラウド基盤「Eucalyptus」を使う(4)--インストール〜ノード構築
俳優経験者が指南する「人前で上手く話すためのティップス10選」
「うるまでるびペイント」登場:絵は上手下手ではなく制作過程に楽しみが
待てば回路の日和あり--「iPhone 3GS」発売、しかし――