emWin アンチエイリアシング

 

アンチエイリアシング

 アンチエイリアシングの質はGUI_AA_SetFactor()というAPIで設定します。1倍アンチエイリアシングは元のまま、2倍アンチエイリアシングで少しなめらかに、そして3倍以降はアンチエイリアシングの質は肉眼では余り効果がなくなってしまいます。一方で処理は重くなっていってしまうので適度なアンチエイリアシングの効果を選択すると良いです。

 

アンチエイリアシングフォント

 2種類のアンチエイリアシングフォントをサポートしています。低品質(2bpp)と高品質(4bpp)です。

フォントタイプ黒字白字
アンチエイリアシングなし
1 bpp, 2 shades
black on white white on black
低品質アンチエイリアシング
2 bpp, 4 shades
black on white 2bpp white on black 2bpp
高品質アンチエイリアシング
4 bpp, 16 shades
black on white 4 bpp white on black 4bpp

 

アンチエイリアシングフォントはフォントコンバータを使用して作ることができます。

高品質なものは見た目が明らかによくユーザーエクスペリエンスを向上させますが、アンチエイリアシングなしのもに比べて低品質なもので2倍、高品質なものでは4倍のメモリ消費量となります。

 

高解像度座標

アンチエイリアシング用に高解像度モードをもちます。初期設定では標準解像度モードになっています。GUI_AA_EnableHiResを使うことで高解像度モードにすることができます。高解像度モードではひとつのピクセルに仮想ピクセルをつくることで高解像度を実現し、これによりより繊細な表現を可能にします。

コード例

標準解像度モード:

GUI_AA_DrawLine(50, 100, 100, 50);

高解像度モード(3倍アンチエイリアシング):

GUI_AA_DrawLine(150, 300, 300, 150);

 EmwinAntialiasingCoord

 

アンチエイリアシングAPI一覧 

以下の表はアンチエイリアシングパッケージで利用できるAPIの一覧です

API説明
操作API
GUI_AA_DisableHiRes 高解像度無効にする
GUI_AA_EnableHiRes 高解像度有効にする
GUI_AA_GetFactor 適用しているアンチエイリアシング効果を返す
GUI_AA_SetFactor アンチエイリアシング効果を適用する
描画API
GUI_AA_DrawArc アンチエイリアシングされた弧を描く
GUI_AA_DrawLine アンチエイリアシングされた直線を描く
GUI_AA_DrawPolyOutline 10ポイントまでのアンチエイリアシングされた多角形の輪郭を描く
GUI_AA_DrawPolyOutlineEx アンチエイリアシングされた多角形の輪郭を描く
GUI_AA_FillCircle アンチエイリアシングされた円を描く
GUI_AA_FillPolygon アンチエイリアシングされた円を描く
GUI_AA_SetDrawMode 背景色を取り込む

 

emWinホームに戻る 


アンチエイリアシング関連ページ 
SEGGER
RTOS&Middleware