This is the version I ended up with, seems to do exactly what I had in mind:
\startuniqueMPgraphic{mpshadow} % BodyFontSize should be the current font size of/in the frame mw := BodyFontSize/3; ox := 3 ; % offset x oy := 2 ; % offset y bx := 1.7mw ; % bleed x (height of the shadow) by := 3mw ; % bleed y (width of the shadow) rx := 2mw ; % max. corner radius x ry := 1mw ; % max. corner radius y steps := 10 ; % number of shadow layers, 10 is a good value hue := 0.03 ; % 0.02 is a good value ycorr := 1mw ; % difference between overlay height and shadow height for step = 1 upto steps: part := (step-1)/steps; xstep := bx * part ; % current part of bleed ystep := by * part ; crx := (rx + rx*part)/2; % current radius cry := (ry + ry*part)/2; % points of the rounded rectangle xa := -xstep + ox; xb := -xstep + ox + crx; xc := xstep + ox - crx + \overlaywidth; xd := xstep + ox + \overlaywidth; ya := -ystep + ycorr + oy; yb := -ystep + ycorr + oy + cry; yc := ystep - ycorr + oy - cry + \overlayheight; yd := ystep - ycorr + oy + \overlayheight; fill (xb, ya)--- (xc, ya)... (xd, yb)--- (xd, yc)... (xc, yd)--- (xb, yd)... (xa, yc)--- (xa, yb)...cycle withcolor transparent(1, hue, black) ; endfor; setbounds currentpicture to OverlayBox ; \stopuniqueMPgraphic \defineoverlay[shadow][\useMPgraphic{mpshadow}] \setupexternalfigures[location=default] \starttext \startplacefigure [title={MyTitle.}] \externalfigure[mill] \stopplacefigure \blank[2em] \startplacefigure [title={MyTitle.}] \externalfigure[mill][background=shadow] \stopplacefigure \stoptext Op zo 11 mei 2025 om 15:18 schreef Wolfgang Schuster < wolfgang.schuster.li...@gmail.com>: > Am 10.05.2025 um 21:39 schrieb Jeroen: > > Is there a way with metapost to get a slightly off-centered (upper- > > right) shadow around a figure? > > This a simple version (the \setupexternalfigures line is needed to load > the example image because it won't wotk with dummy graphics): > > \startuseMPgraphic{shadow} > fill OverlayBox shifted (EmWidth/2,EmWidth/2) withcolor "lightgray" ; > setbounds currentpicture to OverlayBox ; > \stopuseMPgraphic > > \defineoverlay [shadow] [\useMPgraphic{shadow}] > > \setupexternalfigures[location=default] > > \starttext > > \externalfigure[mill] > \blank > \externalfigure[mill][background=shadow] > > \stoptext > > Wolfgang > > > ___________________________________________________________________________________ > 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 > > ___________________________________________________________________________________ >
___________________________________________________________________________________ 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 ___________________________________________________________________________________