automatically splitting big images (calculation problem)
Ahoi, I got some long images that I’d like to split over several pages. \def\clipfigure{\dodoubleempty\doClipFigure} \def\doClipFigure[#1][#2]{ \dorecurse{#1}{% \clip[ height=\textheight, voffset=\dimexpr((\recurselevel -1) * \textheight) ]{\externalfigure[#2][width=\textwidth]}\par } } \clipfigure[3][verylongimage] But "\dimexpr((\recurselevel -1) * \textheight)" for the vertical offset is wrong. How can I do this calculation? Greetlings, Hraban --- http://www.fiee.net http://wiki.contextgarden.net GPG Key ID 1C9B22FD
On Sat, 9 Sep 2017, Henning Hraban Ramm wrote:
Ahoi, I got some long images that I’d like to split over several pages.
\def\clipfigure{\dodoubleempty\doClipFigure} \def\doClipFigure[#1][#2]{ \dorecurse{#1}{% \clip[ height=\textheight, voffset=\dimexpr((\recurselevel -1) * \textheight) ]{\externalfigure[#2][width=\textwidth]}\par } }
\clipfigure[3][verylongimage]
But "\dimexpr((\recurselevel -1) * \textheight)" for the vertical offset is wrong. How can I do this calculation?
You are missing a comma at the end of the voffset line but why not use \clip[nx= .., ny=.., x=, y=...] instead. http://wiki.contextgarden.net/Using_Graphics#Image_Clipping Aditya
Am 2017-09-09 um 22:06 schrieb Aditya Mahajan
On Sat, 9 Sep 2017, Henning Hraban Ramm wrote:
Ahoi, I got some long images that I’d like to split over several pages.
\def\clipfigure{\dodoubleempty\doClipFigure} \def\doClipFigure[#1][#2]{ \dorecurse{#1}{% \clip[ height=\textheight, voffset=\dimexpr((\recurselevel -1) * \textheight) ]{\externalfigure[#2][width=\textwidth]}\par } }
\clipfigure[3][verylongimage]
But "\dimexpr((\recurselevel -1) * \textheight)" for the vertical offset is wrong. How can I do this calculation?
You are missing a comma at the end of the voffset line
Thank you, but that’s not the core problem. I get "Illegal unit of measure (pt inserted)". My current code actually looks like % split in #1 page size parts \def\clipfigure{\dodoubleempty\doClipFigure} \def\doClipFigure[#1][#2]{ \ifsecondargument \dorecurse{#1}{% \tooltip{\clip[ height=\textheight, voffset=\dimexpr((\recurselevel - 1)\textheight),]{% \externalfigure[#2]}}{#2 (\recurselevel/#1)}\par} \else \normalfigure[#1] \fi } Another approach: \def\ausschnitt{\dodoubleempty\doAusschnitt} \def\doAusschnitt#1#2{\clip[height=\textheight,voffset=#1]{\externalfigure[#2][width=\textwidth]}\par} This also doesn’t work; there I’m trying to set the y coordinate for the start like \ausschnitt[15cm][verylongimage] Here I get "Missing number, treated as zero". I guess I need to employ the right combination of \the, expansion etc., but I don’t know how. This stuff is still over my head.
but why not use \clip[nx= .., ny=.., x=, y=...] instead. http://wiki.contextgarden.net/Using_Graphics#Image_Clipping
Because I don’t want to split the picture in even slices, but cut in places where it makes sense. The page height is a simplification, until I get the calculations working. BTW example picture: http://www.balderdashcomic.com/comic/ibonus i.e. http://www.balderdashcomic.com/comics/1416175460-bonus1.png Greetlings, Hraban --- http://www.fiee.net http://wiki.contextgarden.net GPG Key ID 1C9B22FD
Am 10.09.2017 um 09:13 schrieb Henning Hraban Ramm:
\def\ausschnitt{\dodoubleempty\doAusschnitt} \def\doAusschnitt#1#2{\clip[height=\textheight,voffset=#1]{\externalfigure[#2][width=\textwidth]}\par}
This also doesn’t work; there I’m trying to set the y coordinate for the start like \ausschnitt[15cm][verylongimage]
BTW example picture: http://www.balderdashcomic.com/comic/ibonus i.e. http://www.balderdashcomic.com/comics/1416175460-bonus1.png
\def\ausschnitt{\dodoubleempty\doAusschnitt} \def\doAusschnitt[#1][#2]{% \clip[height=\textheight, voffset=#1]{\externalfigure[#2][height=\textheight]}\par} \starttext \ausschnitt[15cm][/tmp/test.png] \stoptext worked Herbert
Am 10.09.2017 um 09:13 schrieb Henning Hraban Ramm:
My current code actually looks like
% split in #1 page size parts \def\clipfigure{\dodoubleempty\doClipFigure} \def\doClipFigure[#1][#2]{ \ifsecondargument \dorecurse{#1}{% \tooltip{\clip[ height=\textheight, voffset=\dimexpr((\recurselevel - 1)\textheight),]{%
voffset=\numexpr(\recurselevel -1)\textheight]{% Herbert
\externalfigure[#2]}}{#2 (\recurselevel/#1)}\par} \else \normalfigure[#1] \fi }
Am 2017-09-10 um 11:09 schrieb Herbert Voss
Am 10.09.2017 um 09:13 schrieb Henning Hraban Ramm:
My current code actually looks like % split in #1 page size parts \def\clipfigure{\dodoubleempty\doClipFigure} \def\doClipFigure[#1][#2]{ \ifsecondargument \dorecurse{#1}{% \tooltip{\clip[ height=\textheight, voffset=\dimexpr((\recurselevel - 1)\textheight),]{%
voffset=\numexpr(\recurselevel -1)\textheight]{%
Aha, numexpr. Danke!
Am 2017-09-10 um 10:09 schrieb Herbert Voss
Am 10.09.2017 um 09:13 schrieb Henning Hraban Ramm:
\def\ausschnitt{\dodoubleempty\doAusschnitt} \def\doAusschnitt#1#2{\clip[height=\textheight,voffset=#1]{\externalfigure[#2][width=\textwidth]}\par} This also doesn’t work; there I’m trying to set the y coordinate for the start like \ausschnitt[15cm][verylongimage]
BTW example picture: http://www.balderdashcomic.com/comic/ibonus i.e. http://www.balderdashcomic.com/comics/1416175460-bonus1.png
\def\ausschnitt{\dodoubleempty\doAusschnitt} \def\doAusschnitt[#1][#2]{% \clip[height=\textheight, voffset=#1]{\externalfigure[#2][height=\textheight]}\par}
So I just forgot the brackets. Me stupid. Thanks! It still doesn’t do what I want, must try further. Greetlings, Hraban --- http://www.fiee.net http://wiki.contextgarden.net GPG Key ID 1C9B22FD
participants (3)
-
Aditya Mahajan
-
Henning Hraban Ramm
-
Herbert Voss