exponenta event banner

movie

Проигрывайте зарегистрированные кадры фильма

Синтаксис

movie(M)
movie(M,n)
movie(M,n,fps)
movie(h,...)
movie(h,M,n,fps,loc)

Описание

movie функция проигрывает фильм, заданный матрицей, столбцы которой являются кадрами фильма (обычно производимый getframe).

movie(M) проигрывает фильм в матричном M однажды, с помощью текущей системы координат в качестве цели по умолчанию. Если вы хотите проигрывать фильм в фигуре вместо осей, задайте указатель фигуры (или gcf) в качестве первого аргумента: фильм (figure_handle,...)M должен быть массив кадров фильма (обычно от getframe).

movie(M,n) проигрывает фильм n \times. Если n отрицательно, каждый цикл показывают вперед затем назад. Если n вектор, первый элемент является числом раз, чтобы проигрывать фильм, и остающиеся элементы составляют список систем координат, чтобы вопроизвести в фильме.

Например, если M имеет четыре системы координат затем n = [10 4 4 2 1] проигрывает фильм десять раз, и фильм состоит из системы координат 4 сопровождаемый системой координат 4 снова, сопровождаемый системой координат 2 и наконец структурируйте 1.

movie(M,n,fps) проигрывает фильм в fps кадры в секунду. Значение по умолчанию составляет 12 кадров в секунду. Компьютеры, которые не могут достигнуть заданной игры скорости максимально быстро.

movie(h,...) проигрывает фильм, сосредоточенный в фигуре или осях, идентифицированных указателем h. Определение фигуры или осей позволяет MATLAB® соответствовать фильму к доступному размеру.

movie(h,M,n,fps,loc) задает loc, четырехэлементный вектор местоположения, [x y 0 0], где левый нижний угол кадра фильма привязывается (только первые два элемента в векторе используются). Местоположение относительно левого нижнего угла фигуры или осей, заданных handle h и в модулях пикселей, независимо от Units объекта свойство.

Примеры

свернуть все

Используйте getframe функция в цикле, чтобы записать системы координат peaks функциональное вибрирование. Предварительно выделите массив, чтобы сохранить кадры фильма.

figure
Z = peaks;
surf(Z)
axis tight manual
ax = gca;
ax.NextPlot = 'replaceChildren';


loops = 40;
F(loops) = struct('cdata',[],'colormap',[]);
for j = 1:loops
    X = sin(j*pi/10)*Z;
    surf(X,Z)
    drawnow
    F(j) = getframe;
end

Чтобы проигрывать фильм два раза, используйте movie(F,2).

Советы

movie функционируйте использует размер фигуры по умолчанию 560 420 и не изменяет размер фигур, чтобы соответствовать фильмам большими или меньшими системами координат. Чтобы разместить другие форматы кадра, можно изменить размер фигуры, чтобы соответствовать фильму.

movie только принимает 8-битные фреймы изображения; это не принимает 16-битные полутоновые или 24-битные фреймы изображения истинного цвета.

Буферизация фильма помещает все системы координат в память. В результате на Microsoft® Windows® и возможно других платформах, длинный фильм (на порядке нескольких сотен систем координат) может исчерпать память, в зависимости от системных ресурсов. В таких случаях выпущено сообщение об ошибке:

??? Error using ==> movie 
Could not create movie frame

Можно прервать фильм путем ввода Ctrl-C.

movie не встроенная функция. Поэтому вы не можете вызвать movie использование builtin функция.

Ограничения со средством отображения на Windows Systems

Установка фигуры Renderer свойство к painters работает вокруг ограничений использования getframe с OpenGL средство отображения в некоторых системах Windows.

Представлено до R2006a