Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/vink/www/mlt/wp/wp-includes/script-loader.php on line 757

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/vink/www/mlt/wp/wp-includes/script-loader.php on line 757

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/vink/www/mlt/wp/wp-includes/script-loader.php on line 758

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/vink/www/mlt/wp/wp-includes/script-loader.php on line 758

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/vink/www/mlt/wp/wp-includes/load.php on line 926

Notice: Trying to access array offset on value of type bool in /home/vink/www/mlt/wp/wp-includes/theme.php on line 2360

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/vink/www/mlt/wp/wp-includes/formatting.php on line 4798

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/vink/www/mlt/wp/wp-includes/formatting.php on line 4798

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/vink/www/mlt/wp/wp-includes/formatting.php on line 4798

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/vink/www/mlt/wp/wp-includes/formatting.php on line 4798
描画メソッドが終点を含むか含まないかを調べてみました
Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/vink/www/mlt/wp/wp-includes/formatting.php on line 4798

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/vink/www/mlt/wp/wp-includes/formatting.php on line 4798

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/vink/www/mlt/wp/wp-includes/formatting.php on line 4798

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/vink/www/mlt/wp/wp-includes/formatting.php on line 4798

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/vink/www/mlt/wp/wp-includes/formatting.php on line 4798

描画メソッドが終点を含むか含まないかを調べてみました

 

プログラムや仕様において、一貫性は大切ですが
使う「人」はワガママなので、時に少々変な仕様になる事もあります。

毎度、管理人イガジーです。

例えば、JavaのCalenderにおける年月日では、「月」だけが0始まりです。
(「日」や「曜日」は1始まり)
一貫性が無いのですが、これはこれで使いやすかったりします。

Javaグラフィックの描画メソッドも、始点−終点指定のものと、始点−長さ指定のものがあります。
drawLine()は、始点−終点 で、終点を含みます。
drawRect()は、始点−長さ で、終点を含みます。
fillRect()は、始点−長さ で、終点を含みません


上図は、描画ドットを拡大したものです。
g.drawLine(0,y, 0,y)の左にあるのが「1ドット」の点です。
始点=終点 として、drawLine()で線をひくと「1ドットの点」が描画されます。

(0,0)-(3,0) にdrawLine()すると、4ドットの線になります(終点を含むので)。
同様に (0,0)から「長さ=3」で、drawRect()すると、1辺が4ドットの四角形になります。

ところが、(0,0)から「長さ=3」で、fillRect()すると、1辺が3ドットの四角形になります。

drawImage(描画先座標始点−終点, 元画像座標始点−終点)は終点を含みません
(10,10)-(13,13)を(0,0)-(3,3)にdrawImage()した場合、3ドットの四角形が描画されます。

(10,10)-(13,13)を(0,0)-(6,6)にdrawImage()すると、縦横それぞれ倍に拡大され
6ドットの四角形が描画されます。

ややこしいのですが、実際に使ってみると、あまり細かく考えなくて済むような
仕様になっていることが分かります(妙に悩むとワケがわからなくなる)。

仕様の一貫性よりも、使いやすいように、というのがJavaなんだなと
なんとなく思える例ですね。


Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/vink/www/mlt/wp/wp-includes/formatting.php on line 4798

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/vink/www/mlt/wp/wp-includes/formatting.php on line 4798

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/vink/www/mlt/wp/wp-includes/formatting.php on line 4798

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/vink/www/mlt/wp/wp-includes/formatting.php on line 4798

この記事へのコメントはこちら
Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/vink/www/mlt/wp/wp-includes/formatting.php on line 4798

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/vink/www/mlt/wp/wp-includes/formatting.php on line 4798

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/vink/www/mlt/wp/wp-includes/formatting.php on line 4798

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/vink/www/mlt/wp/wp-includes/formatting.php on line 4798

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/vink/www/mlt/wp/wp-includes/formatting.php on line 4798