ismailari.com

İsmail Arı'nın anasayfası

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:

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

22 Temmuz 2008, Kategori: Programlama, Etiketler:

Yorum Yapın

Yorumları bana e-posta ile yolla. Yorum girmeden de abone olabilirsiniz.