有时候matlab遇到问题想在群里发言请教一下。
结果群里不让上传视频文件,这个时候,我们就可以考虑把遇到的问题做成gif图片给大佬们看。
1.画图
print(1,'-dbmp','hello')
print函数可以将图片输出,第二个参数为格式,第三个参数为文件名(文件名可以带路径)。
所以我们先写个程序画一个圆形
x = [];
y = [];
r = 5;
for i=1:200
x(i) = r * cos(i * 2 * pi / 200);
y(i) = r * sin(i * 2 * pi / 200);
plot(x,y,"k");
axis([-10,10,-10,10]);
axis equal;
pause(0.02);
hold on;
end
2.输出图片
然后再在程序同一目录下新建一个image文件夹,用于存放图片。
然后添加我们的代码,将每一帧图片存进这个路径并附上文件名做序号。
x = [];
y = [];
r = 5;
for i=1:200
x(i) = r * cos(i * 2 * pi / 200);
y(i) = r * sin(i * 2 * pi / 200);
plot(x,y,"k");
axis([-10,10,-10,10]);
axis equal;
pause(0.02);
hold on;
print(1,'-dbmp',sprintf('image/%dAllen.bmp',i));
end
3.合成gif
读取那200张图片,然后合成为Baizerobot.gif在当前文件夹。
for j=1:200
%获取当前图片
A=imread(sprintf('image/%dAllen.bmp',j));
[I,map]=rgb2ind(A,256);
%生成gif,并保存
if(j==1)
imwrite(I,map,'Baizerobot.gif','DelayTime',0.1,'LoopCount',Inf)
else
imwrite(I,map,'Baizerobot.gif','WriteMode','append','DelayTime',0.1)
end
end