[PHP-users 2327] Re: gif 連結について

Osamu Shigematsu php-users@php.gr.jp
Fri, 28 Sep 2001 10:17:01 +0900


重松です。筬部さん、はじめまして。
調査頂きまして、ありがとうございます。

> IE5.0(OS9.1)ではなぜかちゃんと[1][2][3]と表示されてます。
> でもiCab2.5.1やPictureViewer(QT4.1.2)では[1]になりますね。

IE のバージョンは同じですね。さらに詳細なバージョンは、5.0 (2022) です。
となると、違いは OS のバージョンのみ? でしょうか。。。
私も QuickTime は 4.1.2 です。(5.x は pro キーを買い直さないといけないので)
いったい何が違うのかは謎です。

> ベースとなるイメージブロックを連結することでとりあえず回避
> できますがいかがでしょう?
> [       ]
> [1]
>    [2]
>       [3]
> という4ブロックなら正常に表示されます。

この点ですが、私も試してみました。案としては、順序を入れ替えて、
      [3]
   [2]
[1]
という順番にしてみたのですが、今度は、[3] だけが表示される状態です。

下敷きを用意する方法ですが、これだと、私の理解だと、画像データそのものを
その都度作らなければなりません。2 色の color table (適当でよい, というは、
どうせ透過させるから) だとかは固定値でよいのでしょうが、
画像自体はサイズが連結する画像に応じてかわるからです。

この方式の利点は、LZW の圧縮・伸張に一切関わらない (ので UNI$Y$ の
特許に抵触しない) をことにあるのですが、それが損なわれる気がします。
# libungif というものがあるので、無圧縮で下敷きを作ることも
# 理論的にはできるのだと思いますが。。。

要点としては、
    ・下敷き方式で LZW 特許に抵触しない方法はあるのか。
       (PHP で現実的な速度が得られるか)
    ・そもそも表示できないのは、gifcat の問題なのか? (それとも環境の問題)
です。

それにしても、今回の gifcat のアイデアにはホント敬服します。
今まで特許問題があったので、(MacOS のサーバでは) QuickTime を使って
JEPG を作っていたのですが、この方法を使えば、GIF も生成できます。
なので、何故ダメなのか、原因を突き止めたいと思っています。

-- 
Osamu Shigematsu

http://www.ravi.ne.jp/%7eshige/
mailto:shige@ravi.ne.jp