[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Images :scale and :width/:height relation

From: Manuel Giraud
Subject: Re: Images :scale and :width/:height relation
Date: Sun, 03 Sep 2023 15:37:11 +0200
User-agent: Gnus/5.13 (Gnus v5.13)

Alan Third <alan@idiocy.org> writes:

> On Fri, Sep 01, 2023 at 12:46:11PM +0200, Manuel Giraud via Emacs development 
> discussions. wrote:
>> Hi,
>> For the need of bug#65581, I'd like to have access to the current scale
>> of an image.  But it seems that this one does not always reflect
>> reality.  For instance, you can have a image with an original width of
>> 500 scaled down to a width of 100 (by mean of the :width keyword) and
>> its :scale keyword will still be 1.
>> In "(elisp) Image Descriptors", it is said that:
>>      If both ‘:scale’ and ‘:height’/‘:width’ are specified, the
>>      height/width will be adjusted by the specified scaling factor.
>> But it does not seems to work the other way around.
> I think you've maybe misunderstood. If you set :width 100, and :scale
> 2, then the actual image will have a width of 200. The image spec will
> still say :width 100 :scale 2.

Ok.  So with both a :width and a :scale, each does its scaling.  From
the info, I thought that a :scale set would then modify :width

>> Wouldn't it be a good thing if 'create-image' return a
>> « normalized » image spec where the :width, :height and :scale are
>> filled and kept in sync?
> It would probably be nice, but it's not that easy as you can't work
> out the scale, given a desired width or height, without loading the
> image first to get the real width, and Emacs only loads the image at
> display time.

Hum, I see.

> IIRC the likes of eww will actively load an image and then get the
> size and set the scale accordingly. Perhaps that sort of behaviour
> should be made available generally.

I should have a look their then.  But Emacs does not have a way of
asking "what are the dimensions of this image" without loading it into
its cache?
Manuel Giraud

reply via email to

[Prev in Thread] Current Thread [Next in Thread]