仕 様
線は、表示座標にある一連のピクセルによって近似されます。したがって、それらはギザギザ、特にほぼ水平またはほぼ垂直な線で表示されることがあります。このギザギザはエイリアシングと呼ばれています。アンチエイリアスは線と曲線の平滑化です。正確に水平または垂直でないラインのギザギザの階段状外観を低減します。emWinは、さまざまなアンチエイリアシング品質、アンチエイリアスフォント、高解像度座標をサポートしています。
アンチエイリアス処理では、背景色と前景の色をブレンドして曲線と対角線を滑らかにします。背景色と前景色の間で使用されるシェードの数が多いほど、アンチエイリアスの結果が良くなり(計算時間も長くなります)。
詳 細
〈アンチエイリアスの品質〉
アンチエイリアスの品質は、1〜6の範囲で設定できます.1はアンチエイリアスがなく、6が最高品質です。ほとんどのアプリケーションでは、第4因子で十分であり、品質と性能の間に良好な妥協点があります。
〈アンチエイリアスフォント〉
フォントには、低品質(2bpp)と高品質(4bpp)の2種類のアンチエイリアスがあります。次の表は、アンチエイリアス処理を行わない文字Cと両方の種類のアンチエイリアス処理されたフォントを描画するときの効果を示しています。
アンチエイリアス処理されたフォントは、 フォントコンバータします。アンチエイリアスフォントを使用する一般的な目的は、テキストの外観を改善することです。高品質のアンチエイリアスを使用する効果は、低品質のアンチエイリアスよりも視覚的により喜ばしくなりますが、計算時間とメモリ消費は比例して増加します。低品質(2bpp)フォントは、非アンチエイリアスフォント(1bpp)フォントの2倍のメモリを必要とします。高品質(4bpp)フォントを使用するには、4倍のメモリが必要です。
〈フォントの種類〉
・ 標準(アンチエイリアスなし) 1 bpp、2シェード
・ 低品質(アンチエイリアス処理済み)、2 bpp、4シェード
・ 高品質(アンチエイリアス処理)、4 bpp、16シェード
〈高解像度座標〉
・ アンチエイリアス処理を使用してアイテムを描画する場合、通常の(非アンチエイリアス)描画ルーチンと同じ座標が使用されます。これがデフォルトモードです。関数引数のアンチエイリアシング要因を考慮する必要はありません。(50,100)から(100,50)までのアンチエイリアシングされた線は、次の関数呼び出しで描画されます。
――――――――――――――――――――――――――――
GUI_AA_DrawLine(50, 100, 100, 50);
――――――――――――――――――――――――――――
・ emWinの高解像度機能により、アンチエイリアシング要因とディスプレイサイズで決定される仮想空間を使用することができます。高解像度の座標を使用する利点は、ディスプレイの物理的な位置だけでなく、それらの間にアイテムを配置できることです。
高解像度ピクセルの仮想空間は、アンチエイリアシング係数3の下に示されています。
アンチエイリアシング係数3の高解像度モードでピクセル(50,100)から(100,50)に線を描画するには、次のように記述します。
――――――――――――――――――――――――――――
GUI_AA_DrawLine(150, 300, 300, 150);
――――――――――――――――――――――――――――
高解像度座標はルーチンGUI_AA_EnableHiRes()で有効にする必要があり、GUI_AA_DisableHiRes()で無効にすることができます。