Ver.7からの移行 その3

みなさま、こんにちは。しむぅです。

今回も前回の続きで、Ver.7との描画の違いについて書きたいと思います。

オブジェクトの枠線

Ver.7では、四角形オブジェクト等をグリッドにあわせて作成した場合、ズレて見えたり、オブジェクトを並べたりした場合に隣り合う線が太く見える場合があります。
これは、外枠を描画する際に左ラインおよび上ラインはグリッド上から描画しますが、右ラインはグリッドの1ピクセル左、下ラインはグリッドの1ピクセル上に描画するためです。
この描画は、Ver.8以降で変更しました。

Ver.7 の枠線

Ver.7で四角形オブジェクトをグリッドにあわせて作成した場合です。
ちょっとわかりにくいですが、右ラインと下ラインで、グリッド線が見えています。

Ver.9 の枠線

Ver.9で四角形オブジェクトをグリッドにあわせて作成した場合です。
ちょっとわかりにくいですが、右ラインと下ラインが、グリッド線上にあるのがわかるかと思います。

わかりやすく拡大してみましょう。
1マスが1ピクセルと考えてください。
本来なら、グリッドの縦と横の間隔を10ピクセルに指定することは出来ないのですが、このほうが説明しやすいので。

グリッドの縦と横の間隔は10で、グリッドにあわせて四角形オブジェクトを作成したとします。
四角形オブジェクトの、幅と高さはグリッドにあわせているので10になります。

拡大 Ver.7

グリッド線の間隔を数値だけで見ると10なのですが、実際は、次のグリッド線までは11あるのです。
そのため、そのままオブジェクトの幅や高さを10で処理してしまうと、次のグリッド線まで届かないということになります。

オブジェクトを並べると、線が太く見えてしまうのがわかるかと思います。

拡大 Ver.9

そのため、Ver.9では、次のグリッド線上になるように、1ピクセル分大きくしています。

これは、ピクセルで描画することで起こってしまう現象のため、補正を入れているのです。

他の項目についてはまた別の機会に。