Mit dem Doc-View-Modus von Emacs kann ich PDFs leicht verkleinern / zoomen / etc. Wenn ich ein Bild öffne, kann ich die Zoomstufe derzeit nicht anpassen, um sie an den Rahmen anzupassen. Ich weiß image-mode-fit-frame
, dass es jedoch nicht hilft, wenn das Bild größer als mein Bildschirm ist.
Gibt es ein Paket oder einen Modus, mit dem ich ein Bild vergrößern und verkleinern kann?
quelle
eimp
die Datei ändert. Bei schreibgeschützten Bildern funktioniert dies nicht.Lösung
Ich habe den Quellcode verwendet
lisp/image-mode.el
, um dies aufzuschreiben. Wenn Sie diese Funktion in einem Bildpuffer aufrufen, wird die Größe an die Breite oder Höhe angepasst, je nach Verhältnis von Bild und Fensterhöhe / -breite.Sie benötigen diese 2 Dinge, damit diese Funktion funktioniert:
libjpeg
Loader zum Verarbeiten vonjpg
Bildern verwendet. Der im nächsten Teil dieser Antwort gezeigte Hack wird verwendet, um Emacs zur Verwendung des Loaders zu zwingenimagemagick
.Hack um Emacs zum
imagemagick
Laden von Bildern zu zwingenNachdem Sie durch die Emacs - Fehlerberichte
#18797
,#10746
und#10112
arbeitete die folgende Lösung ImageMagick Lasten Bilder zu zwingen; steck es irgendwo in deininit.el
:Ich habe Emacs Verwendung gezwungen
imagemagick
nur für die Bilddateien vertraut mir:png
,tiff
,jpg/jpeg
undsvg
; Der Rest wird standardmäßig beibehalten. Ich habe mich dafür entschieden, dasgif
Öffnen von Dateien mit dem Standard-Loader zuzulassen , da Emacs 24.4 die Unterstützung für die Anzeige von Bildern mit mehreren Frames verbessert hat. Der gesamte reguläre Ausdruck stammt vonlisp/image.el
.Nachteil
imagemagick
in nicht als Inline-Bilder angezeigtorg-mode
.Verweise
image-transform-fit-to-width
image-transform-fit-to-height
#18797
,#10746
,#10112
quelle
image-transform-set-scale
Vielleicht ist es das, wonach Sie suchen. Allerdings muss Emacs mit Unterstützung von Imagemagick kompiliert werden.Es gibt auch einen Kommentar gesetzt
image-transform-mode
in derimage-mode.el
Aufschrift „Noch nicht implementiert.“quelle
Does Emacs use imagemagick? yes
beim Laufen./configure
. Also hat es mit imagemagick kompiliert. Die Standbildtransformation funktioniert bei mir nicht. (On Emacs 24.4 x86_64-unknown-linux-gnu) Ich habe auch die folgenden inconfig.log
:| #define HAVE_IMAGEMAGICK 1
| #define HAVE_MAGICKEXPORTIMAGEPIXELS 1
| #define HAVE_MAGICKMERGEIMAGELAYERS 1
.Hier ist eine Lösung, mit der Sie mit denselben Tasten, die für die Textskalierung verwendet werden, hoch- und runterskalieren können: Cx C- = und Cx C--
quelle