matlab制作GIF之hello world

clear;clc;clf
f = ['hello world'];
step = length(f);
%figure
axis([0 step+2 0 2])
axis off;
for i=1:step
    text(i,1,f(i),'fontsize',40,'color','red');
    hold on
    frame = getframe(gcf);
    im = frame2im(frame); %制作gif文件,图像必须是index索引图像
    [I,map] = rgb2ind(im,20);
    if i==1
        imwrite(I,map,'helloworld.gif','gif', 'Loopcount',inf,'DelayTime',0.5);
    elseif i==step
        imwrite(I,map,'helloworld.gif','gif','WriteMode','append','DelayTime',0.5);
    else
        imwrite(I,map,'helloworld.gif','gif','WriteMode','append','DelayTime',0.5);
    end;
end

这里写图片描述

getframe
Capture movie frame

Syntax

F = getframe
F = getframe(h)
F = getframe(h,rect)

Description

getframe returns a movie frame. The frame is a snapshot (pixmap) of the current axes or figure.

F = getframe gets a frame from the current axes.

F = getframe(h) gets a frame from the figure or axes identified by handle h.

F = getframe(h,rect) specifies a rectangular area from which to copy the pixmap. rect is relative to the lower left corner of the figure or axes h, in pixel units. rect is a four-element vector in the form [left bottom width height], where width and height define the dimensions of the rectangle.

getframe returns a movie frame, which is a structure having two fields:

cdata — The image data stored as a matrix of uint8 values. The dimensions of F.cdata are height-by-width-by-3.

colormap — The colormap stored as an n-by-3 matrix of doubles. F.colormap is empty on true color systems.

To capture an image, use this approach:
F = getframe(gcf);
image(F.cdata)
colormap(F.colormap)

Examples

Make the peaks function vibrate.
Z = peaks;
figure(‘Renderer’,’zbuffer’);
surf(Z);
axis tight manual;
set(gca,’NextPlot’,’replaceChildren’);
for j = 1:20
surf(sin(2*pi*j/20)*Z,Z)
F(j) = getframe;
end
movie(F,20) % Play the movie twenty times

frame2im

Return image data associated with movie frame

Syntax
[X,Map] = frame2im(F)

Description

[X,Map] = frame2im(F) returns the indexed image X and associated colormap Map from the single movie frame F. If the frame contains true-color data, the m-by-n-3 matrix Map is empty. The functions getframe and im2frame create a movie frame.

Examples

Create and capture an image using getframe and frame2im:
peaks %Make figure
f = getframe; %Capture screen shot
[im,map] = frame2im(f); %Return associated image data
if isempty(map) %Truecolor system
rgb = im;
else %Indexed system
rgb = ind2rgb(im,map); %Convert image data
end

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值