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 TIA, -- Peter
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 -----------------------------------------------------------------
On Sun, Feb 17 2019, Hans Hagen wrote:
+ if width then + hash = hash .. "[w:" .. width .. "]" + end + if height then + hash = hash .. "[h:" .. height .. "]" + 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)
Ok. Perhaps with a configuration option? Like "conversion-if-new-dimens=yes/no"? -- Peter
On 2/24/2019 11:55 AM, Peter Münster wrote:
On Sun, Feb 17 2019, Hans Hagen wrote:
+ if width then + hash = hash .. "[w:" .. width .. "]" + end + if height then + hash = hash .. "[h:" .. height .. "]" + 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)
Ok. Perhaps with a configuration option? Like "conversion-if-new-dimens=yes/no"? maybe later this year, when images are on my agenda
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 -----------------------------------------------------------------
participants (2)
-
Hans Hagen
-
Peter Münster