花园分享 http://blog.sciencenet.cn/u/zxczxc0417

博文

Matlab动画制作(四)——生成gif文件

已有 4646 次阅读 2013-4-8 11:48 |个人分类:乱七八糟|系统分类:观点评述| 电磁弹射器

示例:
clear all;
clc;
set(gca,'nextplot','replacechildren','box','off','color','b','xgrid','on');
title('Get 20 frames of current window');
%%
for j=1:20
 
  plot(fft(eye(j+16)));
  axis([-1. 1. -1. 1.]);
  frame(j)=getframe(gcf); % get the frame
end
writegif('test.gif',frame,0.1);

那么这个writegif函数如何写呢:
function res=writegif(name,frames,dt)
 nframe = length(frames);
 
 for i=1:nframe
   [image,map] = frame2im(frames(i));
   [im,map2]          =  rgb2ind(image,128);
   if i==1
     IMWRITE(im,map2,name,'GIF','WriteMode','overwrite','DelayTime',dt,'LoopCount',inf);
   else
     IMWRITE(im,map2,name,'WriteMode','append','DelayTime',dt); %,'LoopCount',inf);      
   end
 end

参数中name, 是gif文件的名字,frames就是抓取的帧,dt为每帧间的间隔。


https://blog.sciencenet.cn/blog-236430-678155.html

上一篇:两年内治理PM 2.5 雾霾也许可以
下一篇:matlab 函数集合——不断更新中
收藏 IP: 221.224.90.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-23 21:13

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部