фильм

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

Синтаксис

фильм (M)
фильм (M, n)
фильм (M, n, кадр/с)
фильм (h...)
фильм (h, M, n, кадр/с, местоположение)

Описание

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

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

movie(M,n) проигрывает фильм времена n. Если 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

Была ли эта тема полезной?