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

Rudolf Bahr quasi at quasi.de
Fri Feb 22 10:14:15 CET 2019


On Tue, Feb 19, 2019 at 10:48:38AM +0100, Bahr Rudolf wrote:
> Hi All,
> 
> from an external figure I normally know its width and height in px. 
> But I don't know its exact sizes in pt. When newsizing the figure 
> in a document (by the same width-to-height-ratio), I'll do that as 
> some part of textwidth or textheight, in pt or mm, but not in px, 
> i.e. by means of [width=<some pt>]. 
> Sometimes it would be interesting to know its new height in pt, 
> and viceversa. 
> 
> Is there a variable or something else containing its new size in pt?
> 
> Regards,
> Rudolf




Hi All,

up to now Nobody answered to my question, perhaps it might have been
too simple.

Indeed One could normally assume:


picture-width-in-px      preset-picture-width-in-pt
--------------------  =  --------------------------
picture-height-in-px     asked-picture-height-in-pt


And according to Adam Riese One gets:

                             preset-picture-width-in-pt  *  picture-height-in-px
asked-picture-height-in-pt = ---------------------------------------------------
                                             picture-width-in-px


-----------------
The picture sizes in px One gets by invoking for instance graphics Magick's identify
in a lua program:

local file = assert ( io.popen ( 'gm identify ' .. picture_name, 'r' ))
local output = file:read ( '*all' )
file:close ()

local words = {}
for w in string.gmatch ( output, "%g+" ) do
    words [ #words + 1 ] = w
end

-- Width and height are found in words[3]: i.e. 5407x3544+0+0
local dims = {}
for d in string.gmatch ( words [ 3 ], "%d+" ) do
    dims [ #dims + 1 ] = d
end

local px_width  = dims [ 1 ]
local px_height = dims [ 2 ]
-----------------

It's a solution at least as long as your Lua supports "io.popen". There might be
shorter solutions.

Cheers, Rudolf

 


More information about the ntg-context mailing list