进入此代码
$GIF = new Imagick();
$GIF->setFormat("gif");
for ($i = 0; $i < count($file_name); ++$i) {
$frame = new Imagick();
$frame->readImage($file_tmp[$i]);
$frame->setImageDelay(10);
$GIF->addImage($frame);
}
header("Content-Type: image/gif");
echo $GIF->getImagesBlob();
我有这个部分来设定我想要的东西
$frame->setImageDelay(10);
而不是10,每秒24帧的正确等效值是多少?
[1秒/ fps]&gt;&gt;&gt; (1000/24)= 42?
谢谢!
答案 0 :(得分:1)
找到它:
// Ticks per second
$tps = 100;
// Frames per second
$fps = 24
$frame->setImageDelay(ceil($tps/$fps));
答案 1 :(得分:0)
来自nrows
:
以&#39; ticks&#39;表示的时间量。图像应该是 显示为。对于动画GIF,每秒有100个刻度,所以a 值20将是20/100秒,也就是1/5秒。
因此,24 fps,其中第二个值为100,将是100/24
或4.1。该值必须是一个整数,因此向下舍入为4.每秒执行20帧更为自然,这将是5或25帧/秒的延迟值,这将使延迟值为4。