アンチエイリアスが有効になっているEMFメタファイル(描画ツールからエクスポートされたフォーム)を描画する方法はありますか?私が試したツールは、エイリアスファイルをエイリアス化してエクスポートすることができないので、私のコントロールのOnPaintオーバーライドでemfを描くときに手動で元の状態に戻すことができるかどうか疑問に思った。EMFアンチエイリアスを描画する
技術的にアンチエイリアス処理されたemfファイルを生成することができると誰かが確認できる場合は、アンチエイリアス処理されたemfにエクスポートできる描画ツールを使用するか、サードパーティ製のコンバータで後で行います。そのようなツールを誰かが知っているなら、私に知らせてください。
編集:emf instructionsを見ると、emf自体がアンチエイリアスされているかどうかに関係なく、実際に情報を格納できるようには見えません。少なくとも私は何も見つけることができませんでした。アンチエイリアシングは、再生エンジンによって行われる可能性が高くなります。たとえば、Word 2007でEMFを開くと、エイリアスがレンダリングされます。しかし、私はGDI + "再生エンジン"(Graphics.DrawImage(...)
)でそれを描画しません。または私はそれを標準のWindowsイメージビューアとみなします。 これは、実際には独自のemf再生エンジンを備えているツールがあると考えています。だからおそらく私にはemf命令のオブジェクトモデルを与えるemsファイルに格納されている無料の.NETライブラリ(できればソースコード)がありますので、Graphics.DrawImage(...)
の代わりに自分自身でそれを再生できますか?
他のすべてが失敗した場合は、サイズの4倍でそれを描画し、次にダウンサンプリングすることができます。 – Joey
私は小さなサイズでこれを試しましたが、これはまだ醜いです。また、このアプローチを使用すると、おそらく醜いメモリオーバーヘッドがあります。 (私はそのようなUserControlを一度にたくさん表示します)。 – bitbonk
重複:http://stackoverflow.com/questions/1422949/emf-with-forced-antialiasing – liori