带有较少帧的ImageMagick刮水器效果gif [英] ImageMagick wiper effect gif with less frames

查看:91
本文介绍了带有较少帧的ImageMagick刮水器效果gif的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

此问题的可能历史记录:消除ffmpeg和图像魔术命令中的慢速因子

A possible history for this question: Eliminate slow speed factor in ffmpeg and image-magic commands

我正在使用带有刮水效果的此命令创建一个GIF,

I am creating a GIF using this command with wiper effect,

convert -gravity southeast logo.png  -write MPR:logo \
  \( before.jpg -resize '1280x720!' MPR:logo -geometry +15+15 -composite -write MPR:before \) \
  \( after.jpg  -resize '1280x720!' MPR:logo -geometry +15+15 -composite -write MPR:after  \) \
  -delete 0--1                                           \
  MPR:before  \( MPR:after  -set delay 25 -crop 15x0 -reverse     \) \
  MPR:after   \( MPR:before -set delay 27 -crop 15x0   \) \
  -set delay 2 -loop 0 temp.gif -delete 1--1 -resize 640x thumb.jpg

一切正常,但由于雨刷效果超过100帧,因此它会创建gif大小为3MB +的gif.

Which is working all fine, but it creates a gif of size 3MB+, as there are more than 100 frames in wiper effect.

如何减少刮水器效果的帧数,以及画质保持不变,但尺寸减小?我尝试将不同的参数附加到不同的循环值,但没有任何效果.

How can we decrease the number of frames for the wiper effect as well as the quality remains the same, but size decreases? I tried to attach different parameters with different loop values but nothing worked.

推荐答案

以下是3个Imageamagick命令.首先是你的.在第二个中,我从两个输入图像(之前和之后)创建一个公共的颜色图图像,并将其应用于每个帧.在第三步中,我进行相同的颜色映射处理,但是减少了帧数.我从网站上获取了所有图片,并引用了动画,并将新徽标放在左下角,因为在右下角已经有一个了.请注意,我为所有文件添加了-layers优化,从而大大减小了文件大小.

Here are 3 Imageamagick commands. The first is yours above. In the second I create a common color map image from the two input images (before and after) and apply that to each frame. In the third, I do the same color map processing, but reduce the number of frames. I took all the images from the web site and animation referenced and put the new logo in the bottom left corner, since there was already one in the bottom right corner. Note that I added -layers optimize to all, which decreased the file size considerably.

徽标:

之前:

之后:

方法1(原始):

convert -gravity southwest everlogo.png -write MPR:logo \
\( before.jpg -resize '1280x720!' MPR:logo -geometry +15+15 -composite -write MPR:before \) \
\( after.jpg  -resize '1280x720!' MPR:logo -geometry +15+15 -composite -write MPR:after \) \
-delete 0--1 \
MPR:before \( MPR:after -set delay 25 -crop 15x0 -reverse \) \
MPR:after \( MPR:before -set delay 27 -crop 15x0 \) \
-set delay 2 -layers optimize -loop 0 temp1a.gif
2,246,665 bytes
174 frames


结果太大,无法在此处上传.


Result is too large to upload here.

Method2(常用颜色图):

Method2 (common color map):

convert -gravity southwest \
everlogo.png -write MPR:logo +delete \
\( before.jpg -resize '1280x720!' MPR:logo -geometry +15+15 -composite -write MPR:before \) \
\( after.jpg  -resize '1280x720!' MPR:logo -geometry +15+15 -composite -write MPR:after \) \
-delete 0--1 \
\( MPR:before MPR:after +append +dither -colors 255 -unique-colors -write MPR:colors +delete \) \
MPR:before +dither -remap MPR:colors \( MPR:after +dither -remap MPR:colors -set delay 25 -crop 15x0 -reverse \) \
MPR:after+dither -remap MPR:colors \( MPR:before +dither -remap MPR:colors -set delay 27 -crop 15x0 \) \
-set delay 2 -layers optimize -loop 0 temp1b.gif
2,004,345 bytes
173 frames


方法3(常见的颜色图;两倍的作物宽度和四倍的延迟;根据需要调整延迟以更好地匹配方法2)

Method 3 (common color map; twice the crop width and four times the delay; adjust the delay as desired to match better Method 2)

convert -gravity southwest \
everlogo.png -write MPR:logo +delete \
\( before.jpg -resize '1280x720!' MPR:logo -geometry +15+15 -composite -write MPR:before \) \
\( after.jpg  -resize '1280x720!' MPR:logo -geometry +15+15 -composite -write MPR:after \) \
-delete 0--1 \
\( MPR:before MPR:after +append +dither -colors 255 -unique-colors -write MPR:colors +delete \) \
MPR:before +dither -remap MPR:colors \( MPR:after +dither -remap MPR:colors -set delay 100 -crop 30x0 -reverse \) \
MPR:after+dither -remap MPR:colors \( MPR:before +dither -remap MPR:colors -set delay 108 -crop 30x0 \) \
-set delay 4 -layers optimize -loop 0 temp1c.gif
1,927,359 bytes
87 frames


令我感到惊讶的是,如此显着地减少帧数并不能相应地减小动画文件的大小.但是我怀疑这是由于-layers优化所致.

I am bit surprised that reducing the number of frames so significantly does not make a commensurate decrease in animation file size. But I suspect that is due to the -layers optimize.

添加:

在以上所有代码中,我也不理解将括号内的延迟设置为25和27,然后再将其设置为2的用法.我认为动画gif不会有不同的延迟.唯一重要的是最后一个.

Also in all the code above, I do not understand the use of setting the delay of 25 and 27 inside the parentheses and then setting it again to 2 afterwards. I do not think animated gifs can have different delays. The only one that matters is the final one.

所以就延迟和帧数而言,这两者是相同的.第一个使用-crop 15x0和-set延迟4,第二个使用-crop 30x0和-set延迟8.这将产生相同速度的动画,但是第二个使用较少的帧.第一个是174,第二个是88,因此需要更粗略的步骤.但是文件大小大致相同.因此,似乎常见的颜色图会导致文件大小的最大减少.

So just in terms of delays and number of frames, these two do the same. The first uses -crop 15x0 and -set delay 4 and the second use -crop 30x0 and -set delay 8. This produces the same speed animation, but the second has fewer frames. The first is 174 and the second is 88 and so more coarse steps. But the file sizes are about the same. So it seems that the common color map causes the largest decrease in file size.

convert -gravity southwest everlogo.png -write MPR:logo \
\( before.jpg -resize '1280x720!' MPR:logo -geometry +15+15 -composite -write MPR:before \) \
\( after.jpg  -resize '1280x720!' MPR:logo -geometry +15+15 -composite -write MPR:after \) \
-delete 0--1 \
MPR:before \( MPR:after -crop 15x0 -reverse \) \
MPR:after \( MPR:before -crop 15x0 \) \
-set delay 4 -layers optimize -loop 0 temp3.gif
frames 174
2,246,665 bytes


convert -gravity southwest everlogo.png -write MPR:logo \
\( before.jpg -resize '1280x720!' MPR:logo -geometry +15+15 -composite -write MPR:before \) \
\( after.jpg  -resize '1280x720!' MPR:logo -geometry +15+15 -composite -write MPR:after \) \
-delete 0--1 \
MPR:before \( MPR:after -crop 30x0 -reverse \) \
MPR:after \( MPR:before -crop 30x0 \) \
-set delay 8 -layers optimize -loop 0 temp2.gif
frames 88
2,174,954 bytes


这篇关于带有较少帧的ImageMagick刮水器效果gif的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆