动画制作:MATLAB制作gif,PhotoShop制作gif

        gif动画易于制作,相对于视频更小,更易于传播。作为一个程序猿,在使用程序绘图过程中想生成gif动画,可以使用MATLAB生成。当然,MATLAB生成gif动画存在局限性,专业的PhotoShop可以满足你的需要,这篇博客将专门介绍gif动画的制作。

一、MATLAB生成GIF动画

        代码比较简单,简单解释一下,如果详细了解matlab的gif生成控制,可以 doc imwrite 就可以找到gif的文档了。

        首先,第一帧,创建一个gif文件,Loopcount表示循环次数,DelayTime表示该帧的显示时间,单位是秒s;

        然后,后续帧使用‘WriteMode’ ‘Append’的方式,添加在gif后面,并设置该帧的显示时间,然后gif动画就创建完成了;

        还有一个参数,就是rgb2ind中设置的色彩级别,因为gif是压缩图像格式,这个地方设置的颜色级别就是调色板(颜色表)的大小,动画中所有的颜色都会用这张表中的颜色来近似。

for ii = 1:numel(img_files),
    I = imread([img_path img_files{ii}]);
    [Ig, map] = rgb2ind(I,256); % 彩色级别
    gif_file = [output_path video '.gif'];
    if ii==1%~exist(gif_file, 'file')
        imwrite(Ig, map, gif_file, 'gif', 'Loopcount', inf, 'DelayTime', 0.02);
    else
        imwrite(Ig, map, gif_file, 'gif', 'WriteMode', 'append', 'DelayTime', 0.02);
    end
    
end

         Matlab生成小gif还可以,如果是大量,或者需要控制文件大小,压缩比,失真度之类的功能,那么Matlab必然不能满足你的要求,那么你就需要PhotoShop了。

二、PhotoShop制作GIF动画

我们使用的photoshop CC2017,如果你使用的是其它版本,那么整个流程只有一个区别,那就是,在PhotoShop CS6之前,该功能在窗口-动画里打开,而在该版本之后,该功能在窗口-时间轴中打开。我们来讲批量处理模式:

1. 打开PhotoShop

2. 批量导入文件

        在这里,我们可以批量导入一个文件夹中的所有图片,我们事先按名称排好序,后面直接创建出按照该序列显示的动画。

3. 打开时间轴,创建帧动画

        在时间轴窗口,选择创建帧动画

4. 从图层创建帧动画

        在时间轴窗口上方有一个三角,会点开下图所示的小菜单,点击从图层创建帧就可以批量将图层中的帧导入成动画帧了。

5. 帧反序

        Shift加鼠标选择所有帧,还是在刚那么位置选择反向帧,因为添加过来是倒序的。

6. 调节显示帧率、循环次数

        在时间轴窗口最显眼的位置,当然你还可以通过图层来修改每个镇的动画内容,在右侧可以选择该帧中哪些图层是可见的,哪些图层是不可见的。

7. 生成动画

        这是最后一步,这里介绍下几个选项:

        透明度,gif是由透明度的四通道图像,如果不想要该通道,可以去掉

        颜色,就是颜色表的个数,颜色表越大,颜色越鲜艳,质量越好

        损耗,损耗可以用来调节文件的大小,允许的损耗越大,就越容忍图像的失真,生成的动画也就越小

        品质,缩放过程中,使用的插值方法,不直接影响文件大小,一般默认即可

        循环,这里是和之前的循环次数对应的,我们可以选择播放的次数

        最后,点击存储,就可以导出gif动画了

        OK,See You Next Chapter!

 

发表评论