2

PHPでアニメーションGIFを静的に変換する必要があります。たとえば、最初のフレームを使用します。それを行う方法はありますか?

4

4 に答える 4

4

アニメーションの GIF を「ストリッピング」するには、GIF を別の形式に変換してから、もう一度元に戻します。PNG は、JPEG とは異なり非損失であるため、この「その他の形式」に適しています。PHP の GD 関数を使用し、GIF の代わりに PNG を出力する:

header('Content-type: image/png');
imagepng(imagecreatefromgif($file));

PHP/GD がアニメーション GIF をサポートしていない場合 (サポートしているとは思わない)、これは機能する可能性があります (テストしていません)。上記のスニペットとは異なり、GIF 形式で画像を出力します。

header('Content-type: image/gif');
imagegif(imagecreatefromgif($file));

それが機能せず、GIF 形式での出力が不可欠な場合は、次のようになります。

$img1 = imagecreatefromgif($file);
$size = getimagesize($img1);
$img2 = imagecreatetruecolor($size[0], $size[1]);
imagecopy($img2, $img1, 0, 0, 0, 0, $size[0], $size[1]);
header('Content-type: image/gif');
imagegif($img2);
于 2010-08-01T00:05:21.100 に答える
3

http://php.net/manual/en/function.imagecreatefromgif.phpを見てください

maxlloydのコードスニペットを確認してください。

于 2010-07-31T23:56:08.663 に答える
2

私が考えることができる最善の方法(あまりかわいいものではありません)は、gifをpng / jpegに変換してから、もう一度gifに変換することです:P

変換のためにこれを試してください;) http://gallery.menalto.com/node/13206

これがお役に立てば幸いです

于 2010-07-31T23:55:52.687 に答える
1

はい、このためにgdライブラリを試すことができます

http://php.net/manual/en/book.image.php

imagejpeg()機能を調べてください

于 2010-07-31T23:57:15.817 に答える