unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: "Sébastien Gendre" <seb@k-7.ch>
To: help-gnu-emacs@gnu.org
Subject: Re: Elisp and overlay, how to show an image
Date: Sun, 07 Jul 2024 17:31:13 +0200	[thread overview]
Message-ID: <87plrpdxry.fsf@k-7.ch> (raw)
In-Reply-To: <jwvzfqt73pl.fsf-monnier+emacs@gnu.org> (Stefan Monnier via Users list for the's message of "Sun, 07 Jul 2024 09:12:48 -0400")

Stefan Monnier via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> writes:
> As Tomas points out, the `display` property is obeyed only if it covers
> characters.  The usual way to "insert" an image without disrupting the
> content of the buffer (e.g. in `put-image`) is to put the image (with
> `display` property) on a *string* and then put that string in the
> `before-string` (or `after-string`) property of an overlay.
>
>     (let ((ol (put-image (create-image "~/Path/to/my/image.jpg")
>                          (point-min))))
>       (overlay-put ol 'after-string "\n"))
>
>
> - Stefan
<#secure method=pgpmime mode=sign>

Thank you, to Tomas and you, for your replies. It help me a lot.

I didn't know that (put-image) will return the overlay it created.

Is there a way to set a bottom margin to the added overlay, or to the
image, like with CSS on a web page ? Or do I need to add more "\n" with
(overlay-put) ?


I need to found a way to modify the way the image is shown. Controlling
the zoom, on which part it's centered and how the image is cut. I will
read more carefully the section "41.17 Images" of the elisp manual.
Until now, I was started by the overlays section of the manual. 



  reply	other threads:[~2024-07-07 15:31 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-06 21:12 Elisp and overlay, how to show an image Sébastien Gendre
2024-07-07  5:30 ` tomas
2024-07-07 13:12 ` Stefan Monnier via Users list for the GNU Emacs text editor
2024-07-07 15:31   ` Sébastien Gendre [this message]
2024-07-07 19:05     ` Stefan Monnier via Users list for the GNU Emacs text editor
2024-07-08  0:20     ` Michael Heerdegen via Users list for the GNU Emacs text editor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87plrpdxry.fsf@k-7.ch \
    --to=seb@k-7.ch \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).