[NTG-context] When newsizing an external figure bei [width=<some pt>], what will be its height in pt and viceversa?

Hans Hagen j.hagen at xs4all.nl
Sat Feb 23 11:56:32 CET 2019


On 2/23/2019 11:08 AM, Rudolf Bahr wrote:
> On Fri, Feb 22, 2019 at 12:59:55PM +0100, Peter M√ľnster wrote:
>> On Fri, Feb 22 2019, Rudolf Bahr wrote:
>>
>>> The picture sizes in px One gets by invoking for instance graphics Magick's identify
>>> in a lua program:
>>
>> Or just img.scan():
>>
>> \startluacode
>>    local image = img.scan{filename = "my-image.jpg"}
>>    logs.report("xsize", image.xsize)
>>    logs.report("ysize", image.ysize)
>> \stopluacode
>>
>> -- 
>>             Peter
> 
> Hi Peter,
> 
> thank you for pointing to img.scan{}! It's indeed shorter than to invoke Graphics Magick
> in Lua. Remains the conversion of image sizes into pt. There is an example in the chapter
> "Calculations in Lua" in "https://wiki.contextgarden.net/Image_Placement" (a work in
> progress). According to there it's necessary to know the resolution in order to convert
> image sizes from px to pt which at least I don't know. Mostly I can preset one size of
> a picture (say the width in pt) to be able to place it on a page and assuming
> x-resolution = y-resolution and keeping width-to-height ratio I calculate the missing
> size (here the height in pt) in Lua by
> 
>                                                              picture-height-in-px
> asked-picture-height-in-pt = preset-picture-width-in-pt  *  --------------------
>                                               		    picture-width-in-px
> 
> This is simple and normally it suffices for me.
Better use the built-in methods:

\starttext

     \getfiguredimensions[t:/sources/mill.png]

     (\figurewidth,\figureheight)

     (\figurexsize,\figureysize)

\stoptext

as it prevents opening the files multiple times. It's also more futureproof.

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------


More information about the ntg-context mailing list