@ふくしさん > 改○○ー○ ではないんです。答えを書いちゃうと - $tmp = "tmpfile.$$"; + $tmp = "/tmp/tmpfile.$$"; です。あほらしくて泣きそうです。 @has そういうものだと思います。perl では do { block } while (expr) の do は直後のブロックを実行するための命令で、 while は修飾子です。要は foo if ( expr ); と同じ形なわけですね。これはループではないので last も next も redo も使えません。まぁ、 { do { block } while (expr) } とすれば大丈夫ですが、そこまでして do〜while を 使いたいかという話になりますか。 @gongo さん > ということはrgbを二桁(00やF0)で表せば必ず指定した > 通りの色がでるのでしょうか。 じゃなくて、X の内部では RGB それぞれ16ビットだけど、 16ビット×3なんていちいち指定するのがめんどくさいだろうから、 1. ユーザは色名 (red とか) で指定できる 2. ユーザは rgb:x/x/x rgb:xx/xx/xx rgb:xxx/xxx/xxx という 簡略化した形式で色を指定できる とした、ということだと思います。どの指定方法でも XAllocNamedColor の内部で RGB それぞれ 16ビットの 色情報に展開されると。 # X のソースを持ってるなら GetColor.c あたりを # 追っかけると、展開方法はわかると思います。 > XAllocNamedColorの一番後ろの引数には指定した色の > 正確なRGB値が入るとのことなので調べたところ、 > Red=0 Green=0 Blue=61680 となっていました。 ということは、rgb:00/00/f0 は rgb:0000/0000/f0f0 に 展開されたということですね。 で、その 16ビットに展開した色情報が本当に使えるかどうかは、 カラーマップや X サーバ次第、ということです。 > ビジュアルクラスがTrueColorとなっているため > カラーマップを書き換える事ができないようです。 TrueColor だと XAllocColorCells でプライベートカラーセルを 取得できないんでしたっけ? もしできないとしたら XCreateColormap と XInstallColormap を使うんですかね (わかってない)。 > depth って、1色ごとの bit 数じゃなかったかなぁ。 これは違いました。多分。depth は1ドットごとのビット数です。 ところで、gongo さんはカラーセルを使って何をしようと 思っておられるんですか? |