Hi, according to the wiki the \externalfigure key “factor” has the options: max: aspect ratio is kept, the image is scaled to the bigger (oversized) variant fit: aspect ratio is kept, the image is scaled to the smaller (fitted) variant In the following example I expect the third image to have a width of 4cm and a height of 4cm. However, both values are 3cm. The aspect ratio is kept, but “max” and “fit” behave the same. \startbuffer [img] \useMPlibrary [dum] \startTEXpage \externalfigure [dummy] [width=5cm,height=5cm] \stopTEXpage \stopbuffer \ctxcommand{runbuffer("img", "img", true)} \starttext \externalfigure [\jobname-img] [width=3cm, height=4cm] \blank \externalfigure [\jobname-img] [factor=fit, width=3cm, height=4cm] \blank \externalfigure [\jobname-img] [factor=max, width=3cm, height=4cm] \stoptext Is this a bug or am I misunderstanding the wiki? Anyhow, is there a clean solution to keep the aspect ratio and scale the image to whichever value is larger? Marco
On Jun 6, 2012, at 2:45 PM, Marco wrote:
Hi,
according to the wiki the \externalfigure key “factor” has the options:
max: aspect ratio is kept, the image is scaled to the bigger (oversized) variant
fit: aspect ratio is kept, the image is scaled to the smaller (fitted) variant
In the following example I expect the third image to have a width of 4cm and a height of 4cm. However, both values are 3cm. The aspect ratio is kept, but “max” and “fit” behave the same.
\startbuffer [img] \useMPlibrary [dum] \startTEXpage \externalfigure [dummy] [width=5cm,height=5cm] \stopTEXpage \stopbuffer \ctxcommand{runbuffer("img", "img", true)}
\starttext
\externalfigure [\jobname-img] [width=3cm, height=4cm]
\blank \externalfigure [\jobname-img] [factor=fit, width=3cm, height=4cm]
\blank \externalfigure [\jobname-img] [factor=max, width=3cm, height=4cm]
\stoptext
Is this a bug or am I misunderstanding the wiki? Anyhow, is there a clean solution to keep the aspect ratio and scale the image to whichever value is larger?
Marco
I played with your example a little and rooted around in grph-trf.mkiv. It seems "max" selects how to scale based on which dimension in the original figure is greater. Oddly, the dimensions of the MP figure are 142.26682pt by 142.2377pt. So I suspect that "max" is selecting the width as the dimension to scale to the specified width=3cm in your case. (Change the height of the MP figure to 5.01cm and you'll see a change.) Whether that's a bug or intended is a question for others. If not, then "max" is for this problem: Q. How to scale an image so that the largest dimension is 4cm? A. \externalfigure [\jobname-img] [factor=max, width=4cm, height=4cm] If this is correct, I'd be glad to try to clarify the wiki. (I've not done much wiki-ing.) I suppose you could fix your problem with something like \ifdim\desiredwidth>\desiredheight \externalfigure [\jobname-img][width=\desiredwidth] \else \externalfigure [\jobname-img][height=\desiredheight] \fi ________________________________ This e-mail message (including any attachments) is for the sole use of the intended recipient(s) and may contain confidential and privileged information. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message (including any attachments) is strictly prohibited. If you have received this message in error, please contact the sender by reply e-mail message and destroy all copies of the original message (including attachments).
On 2012-06-07 "Rogers, Michael K"
I played with your example a little and rooted around in grph-trf.mkiv. It seems "max" selects how to scale based on which dimension in the original figure is greater. Oddly, the dimensions of the MP figure are 142.26682pt by 142.2377pt. So I suspect that "max" is selecting the width as the dimension to scale to the specified width=3cm in your case. (Change the height of the MP figure to 5.01cm and you'll see a change.) Whether that's a bug or intended is a question for others. If not, then "max" is for this problem:
Q. How to scale an image so that the largest dimension is 4cm? A. \externalfigure [\jobname-img] [factor=max, width=4cm, height=4cm]
If this is correct, I'd be glad to try to clarify the wiki. (I've not done much wiki-ing.)
I suppose you could fix your problem with something like
\ifdim\desiredwidth>\desiredheight \externalfigure [\jobname-img][width=\desiredwidth] \else \externalfigure [\jobname-img][height=\desiredheight] \fi
Sorry for the previous mail, here again with content:
On 2012-06-07 "Rogers, Michael K"
Whether that's a bug or intended is a question for others. If not, then "max" is for this problem:
Q. How to scale an image so that the largest dimension is 4cm? A. \externalfigure [\jobname-img] [factor=max, width=4cm, height=4cm]
I doubt that this is the intention behind the key. Can someone confirm that this is a bug?
If this is correct, I'd be glad to try to clarify the wiki. (I've not done much wiki-ing.)
Only if it's unlikely to be fixed (if it's in the wiki it's documented and a feature, not a bug ;) Marco
participants (2)
-
Marco
-
Rogers, Michael K