[NTG-context] t-downsample.lua

Hans Hagen j.hagen at xs4all.nl
Sun Feb 17 13:52:47 CET 2019


On 2/17/2019 11:32 AM, Peter M√ľnster wrote:
> Hi,
> 
> Please find attached a new version of the module, with some ideas
> from Marco. Later, I'll upload it to modules.contextgarden.net.
> 
> Here a usage example:
> 
> \usemodule[downsample]
> \setupexternalfigures[
>    location=default,          % find hacker.jpg and mill.png
>    cache=/tmp,                % where to put the low resolution images
>    resolution=50,             % resolution in DPI
>    conversion=downsample.pdf] % use this module
> \starttext
> \externalfigure[hacker][width=0.4\textwidth]
> \setupexternalfigures[resolution=20]
> \externalfigure[mill][width=4in, height=3in]
> \setupexternalfigures[resolution=200]
> \externalfigure[mill][width=4in, height=3in]
> \stoptext
> 
> Hans, it would be nice, to apply this patch, to trigger new conversion,
> when figure dimensions change:
> 
> --- grph-inc.lua~       2019-02-14 17:04:12.000000000 +0100
> +++ grph-inc.lua        2019-02-17 08:45:38.129971581 +0100
> @@ -864,6 +864,14 @@
>                       newbase = prefix .. newbase
>                   end
>                   local hash = ""
> +                local width  = figures.current().request.width
> +                local height = figures.current().request.height
> +                if width then
> +                    hash = hash .. "[w:" .. width .. "]"
> +                end
> +                if height then
> +                    hash = hash .. "[h:" .. height .. "]"
> +                end
>                   if resolution then
>                       hash = hash .. "[r:" .. resolution .. "]"
>                   end
hm that needs a bit of thinking because here we have cases where we 
downsample from say 600 to 150 dpi but then use that same one for all 
kind of sizes (and then a different wd/ht should not trigger an extra 
downsample)

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