オープンソースの画像生成AIをセットアップから使い方まで解説する『Stable Diffusion AI画像生成ガイドブック』(ソシム刊)発売中(→本のサポートページ

アニメーションGIFが動かない?

【元記事:アニメーションGIFが動かない?:d:id:manpukuya:20031217:p2

上の記事のアニメーションGIF、いったんはてなダイアリーにアップロードしたのだが動かなかった。ほかの方のダイアリーを見る限り、アニメーションGIFは問題なく動いているようだ。たとえばd:id:sugio:20030906など。ここは、ページ最下部のカレンダーでもちゃんとくるくる回っているのが滑稽なり。

やむを得ず、プロバイダのWebスペースに画像を置いて、それを<img>タグで参照するようにした。

透明部分があるのがいけないのだろうか。以前も、全面切り替えではなくて画像の一部が切り替わるアニメーションGIFを作ったのだが、これも動かなかったのであきらめたことがある(d:id:Imamura:20031030:p3)。

自分のダイアリーでは、アニメーションGIFはアップロードしても動かないのだろうか。これは呪いだろうか。でも、d:id:Imamura:20030805:p1ではちゃんと動いている。

256色(8ビットカラー)未満のGIFだと動かないのかもしれない。id:hatenadiaryに検証をお願いしよう。

そして↓

info@hatena.ne.jpへのメールを書いていたら、出す前に返事が届いた(一部誇張あり)。「アニメーションGIFのアップロードは想定外なので、アニメーションする/しないの条件はわからない。画像の長辺が150ピクセル未満なら縮小処理がされないので、ローカルでリサイズしてからアップロードするとよいかもしれない」といった主旨。ナルホド。ありがとうございます。

アニメーションしない画像は、どちらも4ビットカラーだった。それが原因かもしれない。8ビットカラーに変更したアニメーションGIFを上げてみることにした。

そして↓

動いた、クララが動いた! でも、最終コマの透過色指定が無効になってしまう。今まで縦横150ピクセルだった画像を、縦横149ピクセルに削ってみても結果は同じだった。

サイズを大きくしたり小さくしたり、色数を変えたりパレットの配置を変えたりアニメーションGIFを作るソフトを変えたり、いろいろと条件を変えて試してみた。しかし、透過色の指定が全コマにわたって有効で、かつ問題なくアニメーションする画像は作れなかった。

画像のサイズやパレットが同じでも、作るソフトによって結果が違っていることもあった。ソフトごとの作法に左右されるような微妙な話なのか。そんな中で、わかったことや推測できることは

  • 透過色を指定したアニメーションGIFは、一部のパレットが化けるなどの症状が出る
  • 長辺がちょうど150ピクセルのアニメーションGIFは、8ビットカラーでないとアップロードしても動かないようだ

※これらは、ユーザーの検証にもとづく推測です。はてなは「アニメーションGIFのアップロードは想定していない」とコメントしています

いずれにしても、はてなダイアリーの画像アップロード機能では、透過色の指定とアニメーションは両立できないようだ。やむをえない。はてなの外部に置いた画像を参照することにしよう。