内容 前へ 次へ

9.18.1 アンチエイリアスを有効にする

アンチエイリアスを使用したいスクリプトで Image クラスの SetAntiAliasing() メソッドを呼ぶことでアンチエイリアスを有効にします。

背景カラーとライン カラーの間の色を段階的に補完していくことで、アンチエイリアスはより滑らかに線の縁を描くことができます。

注意: アンチエイリアスに使用されるアルゴリズムはとてもシンプルです。 実際の 2D のシグナルを処理することで、さらに良い結果を得ることができます。 しかし、HTTP サーバー上で実際の 2D のシグナルを処理するのはばかばかしいので、デザインはわざとシンプルに設計してあります。 最良のビジュアルを得るためには、明るい背景上で暗いライン カラーを使用するようにしてください。

以下の例は、このとてもシンプルなアルゴリズムが正確に動作することを示しています。 ここではアンチエイリアスを有効にしたレーダー プロットと無効にしたレーダー プロットを表示します。



図 174: アンチエイリアスを無効にしたレーダープロット [ソース]



図 175: アンチエイリアスを有効にしたレーダープロット [ソース]

アンチエイリアスを使用すると画像の生成に膨大な時間を費やしてしまう可能性があることを覚えておいてください。 アンチエイリアスで線を描く場合、通常よりも約8倍ほど遅くなるので、この機能は慎重に使用してください。

さらに、アンチエイリアスの使用上の注意について、いくつか説明したいと思います。

  1. アンチエイリアスは使用可能なカラー パレット以上の色数を消費します。 使用される色の正確な数は線の角度に応じて変わり、水平に近い角度の線と垂直に近い角度の線の場合はかなり多くの色数を使用します(異なる角度を持つ線の数が多くなると、さらに多くなります)。 カラーグラデーションと一緒にアンチエイリアスを使用する場合、使用可能なパレットの数が足りなくなり、アンチエイリアスを使用できなくなる可能性があります。 通常のパレットは256前後の色をキープすることができます。 これは、アンチエイリアスを使用する場合は、trueカラーイメージを使用したほうがよいということです。
  2. アンチエイリアスはそれぞれの線の端を同じ色で塗りつぶすので、背景イメージを同時に表示させる場合はうまく動作しません。 より高度なアンチエイリアスの処理を行うと、単純にプロセッサのパワーが必要となります。
  3. アンチエイリアス処理を行うと線の幅を指定しても無視されます。 線の幅は常におおよそ1で表示されます。


目次 前へ 次へ