Windows で GDI+、Java、および Photoshop と Gimp によって提供されるものを使用したアンチエイリアシングを見てきました。ホスト OS からのサポートに依存せずにアンチエイリアシング機能を提供する他のライブラリはありますか?
3 に答える
アンチグレイン ジオメトリは、ソフトウェアでアンチエイリアス処理されたグラフィックを提供します。
simon が指摘したように、アンチエイリアシングという用語はかなり頻繁に誤用/乱用されているため、何をしようとしているのかを正確に知ることは常に役に立ちます。
GDIについて言及しているので、サイズを変更するときに鮮明なエッジを維持することについて話していると思います-そのため、フォントの文字のようなものは、元のサイズの2倍または3倍にサイズ変更すると、きれいに見え、ピクセル化されません. この種のことについて、私は過去にアルファテスト倍率と呼ばれる手法を使用しました - ここでホワイトペーパーを読むことができます:
http://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf
実装したときは、複数の平面を使用して、すべてのタイプのオブジェクトでより良いエッジを得ることができましたが、最後に簡単に説明します. ベクター画像をスケーリングする際に品質を維持するために (私が使用した) すべてのアプローチの中で、これが最も簡単で最高の品質でした。これには、ハードウェアで簡単に実装できるという利点もあります。既存の API の観点からは、OpenGL または Direct3D のいずれかを使用するのが最善の策です。つまり、実際にはバイリニア フィルター処理とテクスチャ マップだけで機能を達成できるので、自分でロールすることができます (私は過去に持っています)。常に長方形を扱っていて、スケーリングのみを行う必要がある場合、それは非常に簡単であり、回転を追加してもそれほど複雑にはなりません。自分で巻くと、
それが役立つことを願っています!
(しばしば間違った名前が付けられますが、それは死んだ馬です) 使用できるアンチエイリアシングのアプローチは多数あります。元の信号について知っていることと使用目的に応じて、さまざまなことが望ましい結果をもたらす可能性が高くなります。
「ホスト OS からのサポート」は、出力が OS 表示機能を介して行われる場合、おそらく最も賢明です。なぜなら、OS 表示機能はイメージに対して何が行われているかについて最も多くの情報を持っているからです。
それはあなたが実際に何をしようとしているのかを尋ねるには長い道のりだと思いますか? 多くのグラフィックス ライブラリは何らかの形のアンチエイリアシングを提供しますが、それらが適切かどうかは、達成しようとしていることに大きく依存します。