W trybie przeglądania dokumentów Emacsa mogę łatwo zmniejszać / powiększać / itp. Pliki PDF, jednak chciałbym móc robić to samo z obrazami. Obecnie po otwarciu obrazu nie mogę dostosować poziomu powiększenia, aby dopasować go do ramki. Wiem image-mode-fit-frame
jednak, że to nie pomaga, gdy obraz jest większy niż mój ekran.
Czy istnieje pakiet lub tryb, który pozwoli mi powiększać i pomniejszać obraz?
źródło
eimp
modyfikuje plik. Nie działa na obrazach tylko do odczytu.Rozwiązanie
Użyłem kodu źródłowego,
lisp/image-mode.el
aby to napisać. Wywołanie tej funkcji w dowolnym buforze obrazu spowoduje zmianę jej rozmiaru w celu dopasowania do szerokości lub wysokości w zależności od proporcji obrazu do okna i wysokości.Aby ta funkcja działała, potrzebujesz następujących 2 rzeczy:
libjpeg
moduł ładujący służy do obsługijpg
obrazów. Hack pokazany w następnej części tej odpowiedzi służy do zmuszenia emacsa do użyciaimagemagick
modułu ładującego.Hack, aby zmusić emacsa do użycia
imagemagick
do ładowania zdjęćPo wykonaniu przez emacs raportów błędów
#18797
,#10746
a#10112
następujące rozwiązanie pracował dla zmuszając ImageMagick do obrazów obciążenia; umieść to gdzieś w swoiminit.el
:I zmusiły emacsowi użytku
imagemagick
tylko dla plików graficznych znajomy do mnie:png
,tiff
,jpg/jpeg
isvg
; reszta jest zachowana jako domyślna. Zdecydowałem się zezwolićgif
na otwieranie plików przez domyślny moduł ładujący, ponieważ emacs 24.4 poprawił obsługę wyświetlania obrazów wielu klatek. Całe wyrażenie regularne pochodzi zlisp/image.el
.Wada
imagemagick
nie będą wyświetlane jako obrazy wbudowane worg-mode
.Bibliografia
image-transform-fit-to-width
image-transform-fit-to-height
#18797
,#10746
,#10112
źródło
image-transform-set-scale
może być tym, czego szukasz. Wymaga to jednak skompilowania Emacsa z obsługą Imagemagick.Istnieje również komentarz
image-transform-mode
wimage-mode.el
etykiecie „Jeszcze nie zaimplementowano”.źródło
Does Emacs use imagemagick? yes
podczas biegania./configure
. Więc skompilował się z imagemagick. Nadal przekształcanie obrazu nie działa dla mnie. (Na emacs 24.4 x86_64-unknown-linux-gnu) Mam także następujące wconfig.log
:| #define HAVE_IMAGEMAGICK 1
| #define HAVE_MAGICKEXPORTIMAGEPIXELS 1
| #define HAVE_MAGICKMERGEIMAGELAYERS 1
.Oto rozwiązanie, które umożliwia skalowanie w górę i w dół przy użyciu tych samych klawiszy, które są używane do skalowania tekstu, Cx C- = i Cx C--
źródło