Spec-Zone.ru › Elisp

Изображения с несколькими кадрами

Некоторые файлы изображений могут содержать более одного изображения. Мы говорим, что в изображении есть несколько «кадров». В настоящее время Emacs поддерживает несколько кадров для форматов GIF, TIFF и некоторых форматов ImageMagick, таких как DJVM.

Кадры могут использоваться для представления нескольких страниц (например, это обычно происходит с файлами TIFF с несколькими кадрами) или для создания анимации (обычно это происходит с файлами GIF с несколькими кадрами).

Изображение с несколькими кадрами имеет свойство :index, значение которого является целым числом (считая с 0), определяющим, какой кадр отображается.

Функция: image-multi-frame-p image

Эта функция возвращает не-nil если image содержит более одного кадра. Фактическое возвращаемое значение — список (nimages . delay), где nimages — количество кадров, а delay — задержка в секундах между ними, или nil если изображение не указывает задержки. Изображения, предназначенные для анимации, обычно указывают задержку между кадрами, а изображения, предназначенные для обработки как несколько страниц, не делают этого.

Функция: image-current-frame image

Эта функция возвращает индекс текущего номера кадра для image, считая с 0.

Функция: image-show-frame image n &optional nocheck

Эта функция переключает image на номер кадра n. Она заменяет номер кадра, выходящий за допустимый диапазон, номером конца диапазона, если nocheck не является nil. Если image не содержит кадр с указанным номером, изображение отображается как пустой прямоугольник.

Функция: image-animate image &optional index limit

Эта функция анимирует image. Необязательное целое число index указывает кадр, с которого следует начать (по умолчанию 0). Необязательный аргумент limit управляет длительностью анимации. Если он опущен или nil, изображение анимируется только один раз; если t оно циклически повторяется бесконечно; если число — анимация останавливается через указанное количество секунд.

Анимация работает с помощью таймера. Обратите внимание, что Emacs устанавливает минимальную задержку между кадрами в 0,01 (image-minimum-frame-delay) секунды. Если само изображение не указывает задержку, Emacs использует image-default-frame-delay.

Функция: image-animate-timer image

Эта функция возвращает таймер, отвечающий за анимацию image, если он есть.

Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Multi_002dFrame-Images.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API