So I thing the case should work as expected. Could you send complete-and-minimal example?
\starttext \startMPcode externalfigure "hacker.jpg" scaled 300; \stopMPcode \stoptext
It seems to me the behaviour is perhaps not intuitive but correct. I try to explain: Imagine externalfigure without scaling: externalfigure "hacker.jpg"; What we will obtain? One can imagine the image in its natural size. That is not the case. We obtain the image of the size 1pt x 1pt. I thing there are two reasons for that: 1) Analogy. Imagine this example: draw origin--(1,0)--(1,1)--(0,1)--cycle; it is exactly the same as draw origin--(1pt,0)--(1pt,1pt)--(0,1pt)--cycle; and it is abbreviated to draw unitsquare; and im most cases it is used with scaling draw unitsquare xscaled 2cm yscaled 1cm; since scaled X = xscaled X yscaled X then unitsquare scaled 2cm is still square. If you do not specify the unit, the pt is deduced. So there is an analogy: "unitfigure" 1pt x 1pt = externalfigure "file" 2) Technician. The scaling dimensions are calculated by TeX engine. It is done by tricks in pt units, so image 1pt x 1pt simplifies the calculations. If you want to use a bitmap in ConTeXt MP environment in its natural size, I suggest to precalculate (according to Hans macro \MPfigure) its dimmensions: % ------------------------------------ \def\getMPfiguresize#1{% \getfiguredimensionsonly[#1]% \freezedimenmacro\naturalfigurewidth \freezedimenmacro\naturalfigureheight } \def\naturalMPfigure#1{% externalfigure "#1" xscaled \naturalfigurewidth\space yscaled \naturalfigureheight\space } \starttext \getMPfiguresize{hacker.jpg} \startMPcode \naturalMPfigure{hacker.jpg} ; % space in front of ; is important!! \stopMPcode \startMPcode \naturalMPfigure{hacker.jpg} scaled 2 slanted .3; \stopMPcode \stoptext %------------------------- Vit Zyka -- Vít Zýka --- http://typokvitek.com Automatic document typesetting Automaticka sazba dokumentu -- --