dojoを拡張する:DojoX GFXによる図形描画(後編)
沖林正紀
2008/02/18 17:00
前回は基本的な図形を描画する例を紹介した。今回は図形に対して、より複雑な設定を行う方法について紹介したい。折れ線グラフや文字、グラデーションを表現してみよう。
b. 文字を描画する
文字を描画するのはGroupのcreateText()だ。これには最低でも表示位置とフォントを指定しなくてはならない。これらはどちらも設定項目が複数あるため、タイプミスをしないようにしたい。
まず、createText()のalignは、表示位置の基準となるx,yを文字列のどの位置とするかを決めるものだ。以下の例のように”middle”の場合は基準点を文字列の中央とするが、”start”の場合は文字列の左端、”end”の場合は同じく右端となる。
続いてsetFont()でフォントを設定するのだが、familyに続いて記述するフォントファミリは、Webブラウザで日本語(全角文字)を表示できることを確認しておきたい。なぜなら、ファミリによってはWebブラウザで日本語を表示できないことがあるからだ。
// x, y : 基準点 align : 'middle'の場合は基準点を文字列の中心とする
group.createText( { x : 100, y : 100, align : 'middle',
text : 'dojox.gfxで図形描画' } )
.setFont( { family : 'Serif', size : 20, weight : 'bold' } )
.setFill( 'blue' ); // 青色で表示
図2 文字の描画例
c. 縦書きで文字を描画する
前述のcreateText()の引数にrotated : trueを追加すると、日本語(全角文字)を縦書きフォントに変更できる。ただし、それだけでは文字が左右方向に表示されてしまうので、さらにsetTransform()によって時計回りに90度回転させている。
setTransform()内に記述されたdojox.gfx.matrix.rotategAt()は、図形を回転させるメソッドで、引数は( 回転角, 中心のX座標, 中心のY座標 )である。回転角(単位は度)は、正の値が時計回り、負の値が反時計回りとなる。回転角を45度にすれば、図4のように斜め文字を描画することもできる。
group.createText( { x : 100, y : 100, align : 'middle',
text : 'dojox.gfxで図形描画', rotated : true } )
.setFont( { family : 'Serif', size : 20, weight : 'bold' } )
.setFill( 'blue' )
.setTransform( dojox.gfx.matrix.rotategAt( 90, 95, 95 ) )
// (95, 95)を中心にして時計回りに90度回転させる
図3 縦書き文字の描画例
図4 斜め文字の描画例
- 0人の推薦記事
- 0人がクリップ
-
ソーシャルブックマーク(-)
- トラックバック(0)
- 特集: dojoの広大な門をたたく (8件)
- ホワイトペーパー
- 話題のタグ
Apache
Internet Explorer
モバイル
入門
仮想化ソフトウェア
HTML
iPod touch
Apple
RIA
プログラミング言語
Windows
Mac OS X
PHP
Mozilla
Ajax
Safari
Firefox 3
小技
iPhone 3G
Webアプリケーション開発
ソフトウェア開発
server
Google
オープンソース
Flash
CSS
リファレンス
iPhone
Adobe
XML
開発環境
Linux
Webデザイン
Webサービス
Python
プロジェクト管理
Java
脆弱性
Off Topic
仮想化
Firefox
Ruby
Database
データベース
SOA
Tips
ブラウザ
JavaScript
携帯電話機
Opera
話題のタグを見る »
文字にドロップシャドウの効果をつける--FirefoxとSafariのCSS対応
iPhoneにAdiumが載らない2つの理由
iPhone 3Gの節電術
マイクロソフトはIE 8で地雷を踏んだ?
マイクロソフト、Internet Explorer 8のベータ2をリリース
「iPhone」のパスコードロックに深刻な脆弱性--連絡先情報が読み取られる危険も
Windows XPのバックアップユーティリティについて知っておくべき10のこと
S・ウォズニアック氏:「エンジニアは自分の心に従って行動すべき」--IDFインタビュー
Firefox 3.1のHTML 5対応を検証--Canvas Text APIとCanvas Shadow API
グーグルが、無料社食をついに廃止?--真実はいかに
iPhoneからサーバにSSHログイン:TouchTerm
トップページにみる日本のウェブデザイン--表現したい人たちが集うMySpace
モジラ、「Firefox 3.1」でJavaScript実行を大幅に高速化
Webセキュリティ特集
Techno Exchange
「シンプル」&「低コスト」な運用管理
ZDNet Japan ホスティング特集
ZDNet Japan Green IT
セキュリティ対策レベルテスト公開!
APC SOLUTIONS FORUM 2008をレポート
DELLが掲げる「新・仮想化アセスメントサービス」
仮想化環境で求められるストレージの要件