Hraban,
I would first "fix" my image sources, individually, to contain missing
resolution information.
Alan
On Sat, 21 Sep 2024 13:21:08 +0200
Henning Hraban Ramm
This is lying around for years, let’s try to get it finally working. The code below works, but doesn’t do the right thing.
Since the original image doesn’t contain a resolution setting, gm doesn’t do anything: “gm convert: image does not contain resolution”
It would be more reliable to use “gm convert -resize”, but for that we need to know the final pixel size.
How can a converter function access … – the final (scaled) size of a placed image – the original pixel size of an image ? With that information it would be easy to calculate the target pixel size.
And then it would be nice to hook this function into \setupexternalfigure[conversion=]
""" \startluacode local function downsampler(oldname, newname, resolution) if not resolution or resolution == "" then resolution = 72 end local cmd = string.format( [[gm convert -resample %ix%i "%s" "%s"]], resolution, resolution, oldname, newname) logs.report("downsample", cmd) os.execute(cmd) end
-- Set the PDF and default JPEG converters to the above function. figures.converters.jpg.pdf = downsampler figures.converters.jpg.default = downsampler \stopluacode
\setupexternalfigure[ %conversion=downsampler,% not used resolution=10, ]
\starttext
\externalfigure[https://upload.wikimedia.org/wikipedia/commons/d/dd/Hermann_Zapf_signing.jpg][width=.5\textwidth]
\stoptext """
Hraban ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___________________________________________________________________________________