Difference between revisions of "Example photo page layout"

From Wiki
Jump to navigation Jump to search
m (added a category)
m (+cat)
 
Line 129: Line 129:
 
[[Category: Layers]]
 
[[Category: Layers]]
 
[[Category: Sample documents]]
 
[[Category: Sample documents]]
 +
[[Category:Graphics]]

Latest revision as of 04:46, 8 October 2010

The following creates a 10x10in page with four pictures on it in a nice grid. You can change the size of the page and the image sizes will adjust as well. The images can be scaled, cropped, and moved behind the display frame. There is probably easier ways to do this, but I needed a way that would work with our web service. This captured all the parts we needed in a generic way.

% output=pdftex
\definepapersize[imb][width=10in,height=10in]
\setuppapersize[imb][imb]
\setuppagenumbering[alternative=doublesided, location=]
\setuplayout
  [backspace=1.25in,
  cutspace=1.0in,
  width=fit,
  topspace=.25in,
  bottomspace=.25in,
  header=1.0in,
  footer=1.0in,
  height=fit]

\newdimen\spacebetween \spacebetween = 0.5in
\newdimen\imagewidth   \imagewidth   = 6in
\newdimen\imageheight  \imageheight  = 4.5in

%my cow.jpg image was 6in x 4.5in @300dpi
\useexternalfigure[imagea][cow.jpg][width=\imagewidth,height=\imageheight,frame=off]
\useexternalfigure[imageb][cow.jpg][width=\imagewidth,height=\imageheight,frame=off]
\useexternalfigure[imagec][cow.jpg][width=\imagewidth,height=\imageheight,frame=off]
\useexternalfigure[imaged][cow.jpg][width=\imagewidth,height=\imageheight,frame=off]

\starttext

% slot a
\newdimen\slotawidth   \slotawidth  = \dimexpr((\paperwidth-\innerspacewidth-\outerspacewidth-\spacebetween)/2)
\newdimen\slotaheight  \slotaheight = \dimexpr((\paperheight-\headerheight-\footerheight-\spacebetween)/2)
\newdimen\slotatop     \slotatop    = \dimexpr(\headerheight)
\newdimen\slotaleft    \slotaleft   = \dimexpr(\innerspacewidth)
\newdimen\clipatop     \clipatop    = \dimexpr(.416666666666\imageheight)-(.5\slotaheight)
\newdimen\clipaleft    \clipaleft   = \dimexpr(.302083333333\imagewidth)-(.5\slotawidth)

% slot b
\newdimen\slotbwidth   \slotbwidth  = \dimexpr((\paperwidth-\innerspacewidth-\outerspacewidth-\spacebetween)/2)
\newdimen\slotbheight  \slotbheight = \dimexpr((\paperheight-\headerheight-\footerheight-\spacebetween)/2)
\newdimen\slotbtop     \slotbtop    = \dimexpr(\headerheight)
\newdimen\slotbleft    \slotbleft   = \dimexpr(\innerspacewidth+\slotawidth+\spacebetween)
\newdimen\clipbtop     \clipbtop    = \dimexpr(1.1\imageheight)-(.5\slotaheight)
\newdimen\clipbleft    \clipbleft   = \dimexpr(1.05\imagewidth)-(.5\slotawidth)

% slot c
\newdimen\slotcwidth   \slotcwidth 	= \dimexpr((\paperwidth-\innerspacewidth-\outerspacewidth-\spacebetween)/2)
\newdimen\slotcheight  \slotcheight = \dimexpr((\paperheight-\headerheight-\footerheight-\spacebetween)/2)
\newdimen\slotctop     \slotctop    = \dimexpr(\headerheight+\slotaheight+\spacebetween)
\newdimen\slotcleft    \slotcleft   = \dimexpr(\innerspacewidth)
\newdimen\clipctop     \clipctop    = \dimexpr(.58\imageheight)-(.5\slotaheight)
\newdimen\clipcleft    \clipcleft   = \dimexpr(.52\imagewidth)-(.5\slotawidth)

% slot d
\newdimen\slotdwidth   \slotdwidth  = \dimexpr((\paperwidth-\innerspacewidth-\outerspacewidth-\spacebetween)/2)
\newdimen\slotdheight  \slotdheight = \dimexpr((\paperheight-\headerheight-\footerheight-\spacebetween)/2)
\newdimen\slotdtop     \slotdtop    = \dimexpr(\headerheight+\slotbheight+\spacebetween)
\newdimen\slotdleft    \slotdleft   = \dimexpr(\innerspacewidth+\slotcwidth+\spacebetween)
\newdimen\clipdtop     \clipdtop    = \dimexpr(.583333333333\imageheight)-(.5\slotdheight)
\newdimen\clipdleft    \clipdleft   = \dimexpr(.697916666666\imagewidth)-(.5\slotdwidth)

\strut
\definelayer
	[page]
	[width=\paperwidth,
	 height=\paperheight]
\setupbackgrounds
	[page]
	[background=page]

\setlayer
	[page]
	[voffset=\slotatop,
	 hoffset=\slotaleft,
	 preset=lefttop,
	 width=\paperwidth,
	 height=\paperheight]
	{\clip[voffset=\clipatop,
           hoffset=\clipaleft,
           width=\slotawidth,
           height=\slotaheight]
           {\scale[sx=1,sy=1]{\rotate[rotation=90]{\externalfigure[imagea]}}}}

\setlayer
	[page]
	[voffset=\slotbtop,
	 hoffset=\slotbleft,
	 preset=lefttop,
	 width=\paperwidth,
	 height=\paperheight]
	{\clip[voffset=\clipbtop,
           hoffset=\clipbleft,
           width=\slotbwidth,
           height=\slotbheight]
           {\scale[sx=2,sy=2]{\rotate[rotation=0]{\externalfigure[imageb]}}}}

\setlayer
	[page]
	[voffset=\slotctop,
	 hoffset=\slotcleft,
	 preset=lefttop,
	 width=\paperwidth,
	 height=\paperheight]
	{\clip[voffset=\clipctop,
           hoffset=\clipcleft,
           width=\slotcwidth,
           height=\slotcheight]
           {\scale[sx=1,sy=1]{\rotate[rotation=0]{\externalfigure[imagec]}}}}

\setlayer
	[page]
	[voffset=\slotdtop,
	 hoffset=\slotdleft,
	 preset=lefttop,
	 width=\paperwidth,
	 height=\paperheight]
	{\clip[voffset=\clipdtop,
           hoffset=\clipdleft,
           width=\slotdwidth,
           height=\slotdheight]
           {\scale[sx=1,sy=1]{\rotate[rotation=35]{\externalfigure[imaged]}}}}

\page
\externalfigure[imaged]

\stoptext