# 多言語にまたがるのでここに投稿させていただきます。
よく見かけるソースでRegionを使って
ダイアログの形状を変えるものがありますが、
結果ふちがギザギザになってしまいます。
たとえばメディアプレイヤーなんかのように、
丸くてもふちがギザギザで無いウインドウはどのように作るのでしょうか?
またRegionを用いた形状変更時に可能なのでしょうか?
# ググって見たのですがうまく見つけられなかったので投稿いたします
ご存知の方アドバイスいただければ幸いです。
よろしくお願いします。
--
== HIKARU SAYAMA ==
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
私ならば、グラフィックデザイナさんがRegionの基となるBMPファイルを作る
ときに最初から'アンチエイリアス'を掛けておいてもらうようにします。
で、googleすれば大量に出るとは思いますが、そのBMPファイルを1pixelごとに
Rgnに変換していきます。これで人間の見た目には、ジャギーのないキレイな
ふちができるはず。
BMPファイルを読み取ったときに、プログラム的にアンチエイリアシングする
方法もあるかも知れませんが、それは、ユーザがスキンを作成するとかのアプリ
でもない限り、あまり使う場面もないんじゃないかな、と思います。
----- Takeshi SHIGIHARA
cyg...@tka.att.ne.jp
cyg...@po.jah.ne.jp -----
うまい、早い、安い/2つだけ選べ--RFC1925.
しまった。
ちょっと実験してみたところ、いくら最初のアンチエイリアスを掛けておこうと
意味が無い。アンチエイリアスは、その「背景の画像」に対して色のボカシを
行うようなものだから、背景が変わる状態では意味が無かったですね。
すると、元となる画像に加えてフチのあたりに「透明度」を示す画像でも作り、
それを使ってWM_PAINTとかWM_NCPAINTとかで実際にRgnに対してpaintを行う時に
背景の画像を得てから透明度を加えて演算して、、とかかなあ。
こうなると、自力でアンチエイリアシングするプログラムとなんら変わらない
手間が掛かりそうです。
# 盆休み明けです。遅くなりましてすみません。
アドバイスありがとうございました。
画像でカバーできるなら・・・と思いましたが、
そうもいかないんですね。
# 自力アンチエイリアス実装は今ちょっと無理で・・・
今後の参考にさせていただきます。
ありがとうございました。