width, height がマイナスな図形は描画されない
Point(100, 100) を始点として、Point(0, 0) を終点とした rect を描画したい場合、Size(-100, -100) とできれば楽なのですが・・・
<div id="canvas"></div>
var drawer = goog.graphics.createGraphics(300, 300); drawer.render(goog.dom.$('canvas')); // #canvas にレンダリング // マイナスサイズの rect を描画する drawer.drawRect(100, 100, -100, -100, null, new goog.graphics.SolidFill('#000000'));
この結果は、div#canvas が (300, 300) サイズになるだけで、目的の rect は描画されません。 サイズがマイナスな図形は描画できないようです。
妥協策として、以下のように始点を調整します。
var drawer = goog.graphics.createGraphics(300, 300); drawer.render(goog.dom.$('canvas')); // #canvas にレンダリング var x = 100; var y = 100; var w = -100; var h = -100; if (w < 0) { // width がマイナスなら x をずらす w = -w; x = x - w; } if (h < 0) { // height がマイナスなら y をずらす h = -h; y = y - h; } drawer.drawRect(x, y, w, h, null, new goog.graphics.SolidFill('#000000'));
これで目的の描画が可能になります。
Google API Expertが解説する Closure Libraryプログラミングガイド
- 作者: 伊藤千光
- 出版社/メーカー: インプレス
- 発売日: 2010/12/10
- メディア: 単行本(ソフトカバー)
- 購入: 4人 クリック: 183回
- この商品を含むブログ (15件) を見る