С помощью режима Emacs doc-view-mode я могу легко сжимать / масштабировать и т. Д. PDF-файлы, однако я бы хотел сделать то же самое с изображениями. В настоящее время, когда я открываю изображение, я не могу отрегулировать уровень масштабирования, чтобы подогнать его под кадр. Я знаю, что image-mode-fit-frame
, однако, это не помогает, когда изображение больше, чем мой экран.
Есть ли пакет или режим, который позволит мне увеличивать и уменьшать изображение?
источник
eimp
изменяет файл. Это не работает на изображениях только для чтения.Решение
Я использовал исходный код,
lisp/image-mode.el
чтобы написать это. Вызов этой функции в любом буфере изображения изменит его размер, чтобы он соответствовал ширине или высоте в зависимости от отношения изображения и высоты окна к ширине.Вам нужны эти 2 вещи, чтобы эта функция работала:
libjpeg
загрузчик используется для обработкиjpg
изображений. Взлом, показанный в следующей части этого ответа, используется, чтобы заставить emacs использоватьimagemagick
загрузчик.Взломать, чтобы заставить Emacs использовать
imagemagick
для загрузки изображенийПосле ознакомления с отчетами об ошибках emacs
#18797
,#10746
и#10112
следующее решение работало, чтобы заставить Imagemagick загружать изображения; поместите это где-нибудь в своемinit.el
:Я вынужден Emacs для использования
imagemagick
только для графических файлов мне знакомо:png
,tiff
,jpg/jpeg
иsvg
; остальные остаются по умолчанию. Я решил разрешитьgif
открытие файлов загрузчиком по умолчанию, так как в emacs 24.4 улучшена поддержка просмотра многокадровых изображений. Все регулярные выражения взяты изlisp/image.el
.недостаток
imagemagick
не будут отображаться как встроенные изображения вorg-mode
.Ссылки
image-transform-fit-to-width
image-transform-fit-to-height
#18797
,#10746
,#10112
источник
image-transform-set-scale
может быть то, что вы ищете. Однако это требует, чтобы Emacs был скомпилирован с поддержкой Imagemagick.Существует также закомментирована
image-transform-mode
вimage-mode.el
помеченных «еще не реализовано.»источник
Does Emacs use imagemagick? yes
когда работает./configure
. Так что это скомпилировано с imagemagick. Преобразование неподвижного изображения не работает для меня. (На Emacs 24,4 x86_64-неизвестно-Linux-гну) У меня также есть следующееconfig.log
:| #define HAVE_IMAGEMAGICK 1
| #define HAVE_MAGICKEXPORTIMAGEPIXELS 1
| #define HAVE_MAGICKMERGEIMAGELAYERS 1
.Вот решение, которое позволяет вам масштабировать вверх и вниз, используя те же клавиши, которые используются для масштабирования текста, Cx C- = и Cx C--
источник