42.17.5 Изображения ImageMagick

Если ваша сборка Emacs поддерживает ImageMagick, вы можете использовать библиотеку ImageMagick для загрузки многих форматов изображений (см. Удобства работы с файлами в Руководство GNU Emacs). Символ типа изображения для изображений, загруженных через ImageMagick, — imagemagick, независимо от фактического базового формата изображения.

Чтобы проверить поддержку ImageMagick, используйте следующее:

(image-type-available-p 'imagemagick)
Функция: imagemagick-types

Эта функция возвращает список расширений файлов изображений, поддерживаемых текущей установкой ImageMagick. Каждый элемент списка — это символ, представляющий внутреннее имя ImageMagick для типа изображения, например BMP для изображений .bmp.

Пользовательский вариант: imagemagick-enabled-types

Значение этой переменной — это список типов изображений ImageMagick, которые Emacs может попытаться отобразить с помощью ImageMagick. Каждый элемент списка должен быть одним из символов в списке, возвращаемом imagemagick-types, или эквивалентной строкой. Альтернативно, значение t включает ImageMagick для всех возможных типов изображений. Независимо от значения этой переменной, imagemagick-types-inhibit (см. ниже) имеет приоритет.

Пользовательский вариант: imagemagick-types-inhibit

Значение этой переменной перечисляет типы изображений ImageMagick, которые никогда не должны отображаться с помощью ImageMagick, независимо от значения imagemagick-enabled-types. Значение t полностью отключает ImageMagick.

Переменная: image-format-suffixes

Эта переменная — это alist, сопоставляющий типы изображений с расширениями имен файлов. Emacs использует это вместе с свойством изображения :format (см. ниже), чтобы дать подсказку библиотеке ImageMagick о типе изображения. Каждый элемент имеет вид (type extension), где type — это символ, указывающий тип содержимого изображения, а extension — это строка, указывающая соответствующее расширение имени файла.

Изображения, загруженные с поддержкой ImageMagick, поддерживают следующие дополнительные свойства дескриптора изображения:

:background background

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

:format type

Значение, type, должно быть символом, указывающим тип данных изображения, как указано в image-format-suffixes. Это используется, когда изображение не имеет связанного имени файла, чтобы дать подсказку ImageMagick для помощи в определении типа изображения.

:crop geometry

Значение geometry должно быть списком вида (width height x y). width и height указывают ширину и высоту обрезанного изображения. Если x — положительное число, оно указывает смещение обрезанной области от левого края исходного изображения, а если отрицательное — от правого. Если y — положительное число, оно указывает смещение от верхнего края исходного изображения, а если отрицательное — от нижнего. Если x или y равны nil или не указаны, область обрезки будет центрирована на исходном изображении.

Если область обрезки находится за пределами изображения или перекрывает его край, она будет уменьшена, чтобы исключить любые области за пределами изображения. Это означает, что невозможно использовать :crop для увеличения размера изображения путем ввода больших значений width или height.

Обрезка выполняется после масштабирования, но до поворота.