Ich benutze eww, um ein Bild aus Wikipedia zu öffnen:
https://upload.wikimedia.org/wikipedia/commons/6/6a/The_Burning_of_the_Houses_of_Parliament.jpg
Jetzt wollte ich es auf meinem Computer speichern.
Wie kann ich das machen?
Ich benutze eww, um ein Bild aus Wikipedia zu öffnen:
https://upload.wikimedia.org/wikipedia/commons/6/6a/The_Burning_of_the_Houses_of_Parliament.jpg
Jetzt wollte ich es auf meinem Computer speichern.
Wie kann ich das machen?
Antworten:
Soweit ich das beurteilen kann, *eww*
speichern Puffer Bilddaten in der display
Texteigenschaft.
Um ein Bild zu speichern, müssen wir diese Eigenschaft abrufen und in einer Datei speichern.
Hier ist eine Skizze einer Lösung.
(defun my-eww-save-image (filename)
"Save an image opened in an *eww* buffer to a file."
(interactive "G")
(let ((image (get-text-property (point-min) 'display)))
(with-temp-buffer
(setq buffer-file-name filename)
(insert
(plist-get (if (eq (car image) 'image) (cdr image)) :data))
(save-buffer))))
Dieser Code scheint in dem Fall zu funktionieren, in dem ich ihn getestet habe, weist jedoch mindestens zwei Mängel auf:
save-buffer
ruft Hooks in before-save-hooks
und after-save-hooks
, was hier nicht wirklich Sinn macht.Wenn Sie wissen, wie Sie dies verbessern können, fahren Sie bitte fort.