こんばんは、川合です。 KOYANAGI, Masaaki さんは 2003/12/03 00:33:33 の「[osask 6731] Re : Jenny2.」で書きました: >どうも文章だと分かりにくいので、数値で考えてみました。 (引用中略) >でも、最初に使用する数値を、0と 1 から、0.1 と 0.9 に変えれば、 >0 <= x < 0.2 のとき x = 0.1 >0.2 <= x < 0.4 のとき x = 0.3 >0.4 <= x < 0.6 のとき x = 0.5 >0.6 <= x < 0.8 のとき x = 0.7 >0.8 <= x <=1 のとき x = 0.9 > >川合さんの方法で最大誤差は 0.1 になり、I.Tak さんの方法より誤差が小さく >なります。 誤差が、利用するパレット設定次第で変化するということは知ってい ましたが、i系よりも小さくなりうる設定が存在するのは知りませんで した。 というかまあ、僕はかつて、k8で、今の00、55、aa、ffに到達する前 に、00、40、80、c0とか、3f、7f、bf、ffとか、20、60、a0、e0とか、 いろいろ試してはいました(この話はどこかに書いたので、知っていた らごめんなさい)。でも、結局、元の絵のRGB値を近づけてもそうでな くても、絵から受ける印象はあまり変わらないという自分なりの結論に 達して、むしろめいいっぱいコントラストを上げるほうが見ばえがよさ そうな気がしたので、今の00、55、aa、ffを選びました。 また上記の5階調の話の場合、00とffを使うというのは、システムカ ラーからの要請でもあります。これを減色処理だけのために19やe6に切 り替えると、単に画面全体のコントラストが下がるだけになります。だ からまあディスプレイのコントラストをいじったのと同じような状態に なるでしょう。 >4色を使う場合は、255*1/26, 255*9/26, 255*17/26, 255*25/26 の数値を使って >13区間を塗り分ければ良いことになります。 こっちはシステムカラーとは独立なので、設定可能です。むしろ減色 の結果だけを独立に調節できるように、あえてパレットを独立させてお いた、という意図もあるくらいなので、変更は悪くない案だと思います (もしOSASK的な発想でパレットリソースの節約を第一に考えるなら、 減色用のffffffなんか用意しないで、システムカラーのffffffを使うべ きだと当時の僕は考えました。そうすればパレットリソースが8個節約 できます。でもそうすると、こういう独立調節はやりにくくなりますし 、変換ルーチンも負担が増えます。結局今の仕組みを選んだわけです) 。 ただ、これもコントラストが違うだけ、といえなくもありません。こ れはどういうことかというと、上記の値をコントラスト調整して上端と 下端を00とffにしたとします。そうすると、 255*0/24, 255*8/24, 255*16/24, 255*24/24 となり、 00 55 aa ff になります。これはまさに今の設定なのです。ということで、OSASKと しては今のままで行くことにします。もちろん、各自がソースを改造す るのは自由です。 >というのが計算結果ですが、パレットを正しく選択して川合さんの方法を使った >場合の絵は作っていないので作ってみて下さい。>川合さん コントラストを92%にするだけなので、あまり変わりませんよ。まあ BMPの値をちょっと置換するだけでいいので、やってみますかねえ。百 聞は一見にしかずですし。 http://hideyosi.zive.net/~k/je2_fig.lzh (290KB) RGB値を入れ替えようと思って観察したら、Bochs-ペイント経由のせ いか、今までのものについても、BMPファイルのRGB値がおかしくなって いました。ということで、直して差し替えました(そうでないと、この 微妙な差がわからなくなる)。いじったやつは、c4とc8という名前をと りあえず割り振りました。まあc4の実用性はちょっと疑問ですが(画面 全体の色も変わるから)、c8は意味があると思います。しかし、c4とn4 は並べて区別が付きますが、n8とc8は拡大したり目を凝らしたりしない と、僕には分かりません。 それでは。 -- 川合 秀実(KAWAI Hidemi) OSASK計画代表 / システム設計開発担当 E-mail:kawai !Atmark! imasy.org Homepage http://www.imasy.org/~kawai/