次の方法で共有


線と曲線を使用したアンチエイリアシング

Windows GDI+ を使用して線を描画する場合は、線の始点と終点を指定しますが、線上の個々のピクセルに関する情報を指定する必要はありません。 GDI+ は、ディスプレイ ドライバー ソフトウェアと連携して、特定のディスプレイ デバイスに線を表示するためにオンにするピクセルを決定します。

点 (4, 2) から点 (16, 10) に向かう真っ直ぐな赤い線を考えてみましょう。 座標系の原点が左上隅にあり、測定単位がピクセルであると仮定します。 また、x 軸が右を指し、y 軸が下を指していると仮定します。 次の図は、多色の背景に描画された赤い線の拡大図を示しています。

多色の背景 に赤い実線のピクセルを示す図

線のレンダリングに使用される赤いピクセルは不透明であることに注意してください。 線の表示に部分的に透明なピクセルはありません。 この種類の線レンダリングでは、線がジャグ状に見え、線は階段のように見えます。 階段で線を表すこの手法はエイリアスと呼ばれます。階段は理論上の線の別名です。

線をレンダリングするためのより高度な手法では、部分的に透明なピクセルと純粋な赤のピクセルを使用する必要があります。 ピクセルは、線にどの程度近いかに応じて、純粋な赤または赤と背景色のブレンドに設定されます。 この種類のレンダリングはアンチエイリアシングと呼ばれ、人間の目がより滑らかであると認識される線になります。 次の図は、特定のピクセルを背景とブレンドしてアンチエイリアシングされた線を生成する方法を示しています。

同じ背景に赤の濃淡があるピクセルを示す図

アンチエイリアシング (スムージング) を曲線に適用することもできます。 次の図は、滑らかな楕円の拡大図を示しています。

異なる青の色調のピクセルで構成された楕円の図が、白い背景に描かれています

次の図は、実際のサイズで同じ楕円を示しています。1 回はアンチエイリアシングなし、1 回はアンチエイリアシングを使用しています。

2つの楕円のスクリーンショット: アンチエイリアシングを施した楕円の方が、明らかに滑らかに見えます

アンチエイリアシングを使用する線と曲線を描画するには、Graphics オブジェクトを作成し、SmoothingModeAntiAliasGraphics::SetSmoothingMode メソッドに渡します。 次に、その同じ Graphics オブジェクトの描画メソッドのいずれかを呼び出します。

myGraphics.SetSmoothingMode(SmoothingModeAntiAlias);
myGraphics.DrawLine(&myPen, 0, 0, 12, 8);

SmoothingModeAntiAlias は、SmoothingMode 列挙体の要素です。