• 締切済み

Tcl/Tkのエラーメッセージ対応

Tcl/TkでGIF形式指定のうえ画像保存をしようとすると、次のようなエラーメッセージが出ます。  "Too many colors …" これはパレットにない色を使用した結果だと思うのですが、image createコマンドでオプションを次のように指定しています。  image create …… -format gif -palette 256/256/256 なお使用した色は次の6色で、エラーメッセージが画像保存の段階になって出てくるので、どの色でひっかかっているのか不明です。  blue,DeepSkyBlue,red,coral,black,white 一つ一つの色を取捨選択して確認するのも面倒なことだし、後学のためにご存知の方がいらっしゃればコメントお願いします。 Tcl/Tkが扱うGIFカラーは、特定の256色に固定なのか、それとも1670万色のうちの任意の256色を指定できるのかも知りたいところです。具体的に説明しているURLの紹介でもかまいません。なおTcl/TkのバージョンはWindows版"ActiveTcl8.4.7.0"です。

みんなの回答

  • t_nojiri
  • ベストアンサー率28% (595/2071)
回答No.1

間違えてたら御免なさい。 0~255な気がします。 #256だとオーバフローだよね。

koma1000nin
質問者

お礼

回答有難うございます。 256/256/256という記述は「赤256レベル/緑256レベル/青256レベル」の意味で、この命令を実行してもエラーにはなりません。 エラーになるのは画像保存する段階なのです。

koma1000nin
質問者

補足

この問題は自力解決しました。 GIF保存しようとするときエラーになるのは、オリジナル画像がGIFでなく、bmp形式で読み込まれたものであるのが原因のようです。 一般の画像処理ソフトでは、bmpで読んでも他のファイル形式で保存できますが、Tcl/Tkの場合はbmpのカラーパレットをGIFカラーパレットに変換しきれないみたいです。ちなみに問題の元画像をGIFに変換しておいてからそれを読み込ませ、処理後にGIF保存するとうまくいきました。 このへんの規則みたいなものが明確に開示されていないようなので、私みたいな事故が起きるのだと思った次第です。 この問題はこれでおしまいにしましょう。 他のサイトでも質問してみたのですが、「256→255に直してみたら?」の回答しか得られませんでした。(^^;

関連するQ&A

専門家に質問してみよう