MATLAB ile animasyon yapma ve ‘animated gif’ olarak kaydetme

Sunum hazırlarken durağan figürler yetmeyebiliyor. Örneğin bir sistemin nasıl yakınsadığını veya salındığını göstermek için animasyon yapmak gerekebiliyor. Bunu da ‘avi’ olarak kaydetmek istemiyorum, ‘gif’ olsun. İnternet sayfasına da koymak kolay olsun. Resimdeki animasyonu oluşturan kod şöyle:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
gifDosyaAdi = 'ornek.gif';
 
% Ornek olsun diye, uc boyutlu bir tane grafik çizelim
% Ama başka grafik de olabilirdi
Z = peaks; surf(Z);
axis tight
set(gca,'nextplot','replacechildren');
for j = 1:20
    surf(sin(2*pi*j/20)*Z,Z)
 
    % Şu anki ekranı alalım
    RGB = frame2im(getframe(gcf));
 
    % GIF olacağı için (örneğin) 256 tane indekslenmiş renge indirgeyelim
    [IND, map] = rgb2ind(RGB, 256);
 
    if j == 1 % İlk kare ise, yeni oluştur
 
        % 'LoopCount' animasyonun ne kadar döneceğini gösteriyor, Inf
        % sonsuz demek. Dokümantasyonda "GIF-Specific Parameters" diye
        % aratırsanız diğer parametreler de çıkar.
        imwrite(IND, map, gifDosyaAdi, 'gif', 'LoopCount', Inf);
 
    else % Değilse, eskisinin peşine ekle
        imwrite(IND, map, gifDosyaAdi, 'gif', 'WriteMode', 'append');
    end
end
close % Figürü kapat
Bu yazı Programlama kategorisine gönderilmiş ve ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">