Изображения с несколькими кадрами
Некоторые файлы изображений могут содержать более одного изображения. Мы говорим, что в изображении есть несколько «кадров». В настоящее время 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