程式碼:
t=0:0.1:10;
y=sin(pi*t);
i=1;
for j=1:101
figure(i)
plot(t,y)
hold on;
plot((i-1)/10,y(i),'or')
frames(i)=getframe(gcf); %以getframe將每次的圖存進frames中
close all;
i=i+1;
end
dt=0.1; %設定每張圖的時間間隔,單位為秒
%下方開始將每個獲取到的frame轉成影像,並寫一個一個的存進檔名為 move_pic.gif 的檔案中
for i=1:101若getframe抓取的是gca結果如下,可發現邊框不見了
[image,map]=frame2im(frames(i));
[im,map2]=rgb2ind(image,128);
if i==1
imwrite(im,map2,'move_pic.gif','gif','writeMode','overwrite','delaytime',dt,'loopcount',inf);
else
imwrite(im,map2,'move_pic.gif','gif','writeMode','append','delaytime',dt);
end
end
若frames後續不會再使用,程式碼可以簡化如下
回覆刪除t=0:0.1:2;
y=sin(pi*t);
i=1;dt=0.1;
for j=1:21
figure(i)
plot(t,y)
hold on;
plot((i-1)/10,y(i),'or')
[image,map]=frame2im(getframe(gca));
[im,map2]=rgb2ind(image,128);
if i==1
imwrite(im,map2,'move_pic3.gif','gif','delaytime',dt,'loopcount',inf);
else
imwrite(im,map2,'move_pic3.gif','gif','writeMode','append','delaytime',dt);
end
close all;
i=i+1;
end
你好請問儲存的gif檔要去哪裡開啟?
回覆刪除作者已經移除這則留言。
刪除他是存在當下的作業資料夾,若工作介面沒更動過,在寫程式碼的左方欄位就是資料夾位置,那邊可以找到檔案以及路徑。
刪除