[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:003100] Re: Using RGB image?
- To: ��ǾUser <dcusers-ml@xxxxxxxxxxxxxx>
- Subject: [dennou-ruby:003100] Re: Using RGB image?
- From: Takeshi Horinouchi <horinout@xxxxxxxxxxxxxxxxx>
- Date: Fri, 29 May 2009 09:11:47 +0900
- Cc: dennou-ruby@xxxxxxxxxxx
堀之内です.
DCL のフルカラー対応,前から期待していました.
フルカラー化の際には次の問題もぜひ一緒に解決していただきたいのです
が,乙部さんのはそうなってますか.
* 現在は gropn 後にカラーマップが切り替えられない.このため,
カラーマップ A とカラーマップ B でかいた図を重ねることが
できない.
これ,以前からなんとかならないかなーと思ってます.これができる
ようになると,例えば,虹色toneで気温を書いて,その上に白黒toneで雲や
降水を書いて重ねる(単純に上書きでも雲量が少なければ隙間だらけ
なので気温分布も問題なくわかる)といったことができるようになります.
あるいは,3次元の異なる断面に異なる物理量を違うカラーマップで
だすとか.
カラーマップというのはいわば U 座標で,256 等の色諧調はいわば
V 座標というかデバイス座標なわけですから,「デバイス座標」を
フルカラー拡張する(すなわち3変数化する)のに呼応して,
U座標も拡張して,最大3つのパラメターに同時に対応できるようにする
と良いと思います.例えば地形図をカラーで書くことを考えます.
標高に応じて色調をきめ,x 方向の傾きに応じて暗さを決めたいと
します.この場合,パラメターとして,標高とx 方向の傾きの2つ
を与えれば描画できるよう,色調に関するカラーマップと,暗さに
関するカラーマップのようなものの2つが設定できて,しかるべく
合成できると(この場合基本的に掛け算ですね).また,
3種の物理量をRGB値それぞれにマップするカラーマップを3つもって
合成するというのも実際に使われるパターンでしょう
(この場合単純に足し算).
まとめると,
(1) カラーマップのようなものを最大3種まで同時に設定できるように
する.
(2) 複数のカラーマップの合成の規則をいくつか用意する.
そんなことは各自が自分でできるようにしろという考えもあるかも
しれません.ただ,実際の利用においてはU座標からデバイス座標
への変換は共通して行われることなので,それをサポートする
仕組みをライブラリが提供するのが良いと思います.
ところで,linux 版はフルカラー時に PS ファイルも作れるんですよね?
(Win版DCLは装置番号2で直接プリンターに出しちゃいますが)
> 福岡大学の乙部です。
>
> とりあえず、どのような環境でご利用でしょうか?
>
> 標準的には無理なのですが、
> Windows版でかつ、Fortran版はフルカラー出すことが可能です。
> とはいっても原理的には書くことができますが、なめらかなグラデーション
> トーンを書くようなイメージなので、写真を表示するような用途には
> いまいち使いづらかったように思います。
> また、Windows版なら内部で、仮想的なRGB画像に書き込んでから、
> 転送という方法で表示していますので、それの関数を使う方法もあります。
> その方法だったらCでも同じ描画ドライバなので呼び出せるはずですし、
> Rubyからも呼べるのかな?と思います。
>
> Linux版も開発用リソースにはフルカラーパッケージ(UIPACK)が含まれている
> ので、開発版を使えば無理矢理ですが表示できると思います。
> でも、画像をそのまま表示するパッケージはないと思います。
>
> あっても良さそうなので、作ってみようかと思います。
>
>
> >
> > 一応自分で調べてみたつもりですが、出来るかどうか分からなかったので
> > こちらに質問いたします。
> >
> > RGB それぞれの2次元データがあった場合、DCLでRGB画像を出力する
> > 方法はあるのでしょうか。
> > 目的は、衛星観測データの3バンド合成画像の出力です。
> >
> > カラーマップでは100色までなので、マップファイルを取り換えて
> > 実現できる様な気もしますが、大変ですよね。
> > 何か良い方法があればいいのですが、、、。
> >
> > このあたり、何か教えて頂けるとありがたいです。
> > よろしくお願いいたします。