On Sat, Feb 23, 2019 at 11:56:32AM +0100, Hans Hagen wrote:
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
Hi Hans, I fear it doesn't work. I used the above code with a test-picture of mine (in .png and .jpg version) and got: (0sp,0sp) (0,0) Now I'm baffled what the explanation could be. Are "mill" or "cow" somehow specially prepared? I used: ConTeXt ver: 2018.03.16 22:20 MKIV beta fmt: 2018.3.21 and getfiguredimensions[~/my-test-picture.png] Rudolf