めんどかった
gifファイルを透明にしようと思いました。
単純に、「透明フラグ」を書き換えたら済む話かと思ったら
「透明になるとか、そういう情報を入れたブロック」がないgif画像もあるらしく、
下のソースだとうまく透過されなかった。
今度書き換えます。
<?php /** * Created on 2008/12/25 * (c) mana */ if(!isset($_FILES["img"])){ print '<html> <body> <form enctype="multipart/form-data" action="#" method="POST"> <input type="file" name="img"> <input type="submit"> </form> </body> </html>'; } else { $imgpath = $_FILES["img"]["tmp_name"]; $fp = fopen($imgpath,"rb"); do{ $c = fread($fp,1); $src .= $c; if(ord($c) === 0x21){ // 拡張ブロック固定値 $c2 = fread($fp,1); $src .= $c2; if(ord($c2) === 0xf9){ // Graphic Control Extension固定値 $src .= fread($fp,1); // 固定値 $c3 = fread($fp,1); $c3 |= 1; // 透過する $src .= $c3; $src .= fread($fp,2); // 表示時間(ポインタを送る) $clearcolorindex = 29; // パラメタ $src .= pack("c",$clearcolorindex); fread($fp,1); // 送り print("tootteru"); } } }while(!feof($fp)); header("content-type:image/gif"); print($src); }?>