タイトル : Re: VB6.0でアンチエイリアスは可能ですか? 投稿日 : 2012/09/18(Tue) 11:07 投稿者 : 魔界の仮面弁士
使うとすれば、GDI+ でしょうかね。 http://hpcgi1.nifty.com/MADIA/VBBBS2/wwwlng.cgi?print+200803/08030053.txt 下記は、VB6 の Labelコントロール、Print メソッド、そして GDI+ Flat API による テキスト出力の結果を比較したものです。 http://www.vb-user.net/junk/replySamples/2012.09.18.10.42/Form.png http://www.vb-user.net/junk/replySamples/2012.09.18.10.42/AntiAlias.zip このままでは違いが分かりにくいと思いますので、一部を拡大してみます。 すべてアンチエイリアス処理されていることが分かるかと思います。 http://www.vb-user.net/junk/replySamples/2012.09.18.10.42/Label.png http://www.vb-user.net/junk/replySamples/2012.09.18.10.42/Print.png http://www.vb-user.net/junk/replySamples/2012.09.18.10.42/GdiPlus.png このように、最近のOS環境であれば、フォントに関しては、既定の設定で アンチエイリアス描画が有効になっています。(正確にはClearType) ただしそのためには、フォント側もスムージングに対応している必要があります。 また、特定のフォントサイズにおいては、アンチエイリアスが使われずに、 ビットマップフォントで描画されるようになっている点にも注意が必要です。 http://creazy.net/2007/08/windows_anti_alias.html 一方、直線や曲線に関しては、フォントとは状況が異なります。 ・Circle/Line メソッドでは、アンチエイリアスはかかりません。 ・Shape/Line コントロールも、画面上ではアンチエイリアスがかかりませんが、 そのFormを PrintForm メソッドで印刷した場合は滑らかな線になります。 ・VB6 でも GDI+ を使えば、直線や曲線のアンチエイリアス描画が可能です。 |