GIF の color table を調べる
gif の color table を調べたくなったのでシュッと確認できるよう gifpalette というのを書きました。
実行すると
このように出力されます。 golang には gif の parser が標準でついてるので読むと color table がどこに入っているかとかがわかります。
true color で出力する
これを書くのに当たって調べていたらどうやらターミナルで true color が表示できる世界線に居ることを知ったので(いつの間に....) *1*2 golang で true color でターミナルに出力出来るものを書きました。それがこちら。
鮮やか...
Image I/O で大きいサイズの GIF が正しく作れない
golang から cocoa の話になりますが、Image I/O では CGImageDestinationCreateWithURL, CGImageDestinationAddImage を使うと gif が作れるけど、大きいサイズだと以下のように色が飛んでしまうことがありました。(正しくない画像の一部切り取ったもの)*3
なので gif ファイルの color table を調べるために上のものを作りましたが、調べた結果としては color table を外から入れたとしてもこのようになってしまうので Image I/O で大きい gif は厳しいなという感じです。
*1:https://gist.github.com/XVilka/8346728
*2:https://github.com/tmux/tmux/issues/34
*3: 大きくても飛ばないこともありました。ターミナルの背景のように同じ色が多く占めてる場合におかしくなる印象