背景

背景

背景

希望使背景图像缩放以填充整个页面。

代码

我尝试改变页面的尺寸来填充整个区域然后放入外部图像:

\setuplayout[
  backspace=0mm,
  leftmargin=0mm,
  rightmargin=0mm,
  topdistance=0mm,
  header=0mm,
  footer=0mm,
]

\starttext

\startfrontmatter

  % Title page (front cover).
  \startstandardmakeup
    % Front Cover Photo
    % Front Cover Photo citation (author, author url, license, license url)
    \externalfigure[cover.png][width=\paperwidth,height=\paperheight]
  \stopstandardmakeup

  % Copyright page.
  \startstandardmakeup
    % date
    % author

    Copyright
  \stopstandardmakeup

  % Table of Contents.
  \completecontent
\stopfrontmatter

\stoptext

更新

其他尝试均没有取得太大成效。

使用定义的层:

\definelayer[cover][
  x=0mm,
  y=0mm,
  width=\paperwidth,
  height=\paperheight,
]

\setlayer[cover][
  hoffset=0mm,
  voffset=0mm,
]{%
  \framed[
    frame=off
    width=\paperwidth,
    height=\paperheight,
  ]{%
    \externalfigure[cover.png][width=\paperwidth,height=\paperheight]
  }
}

\starttext

\startfrontmatter
  \setupbackgrounds[page][background=cover]
  \startstandardmakeup
  \stopstandardmakeup
  \setupbackground[page][background=]
\stopfrontmatter
\stoptext

这将产生沿左边缘和底部边缘的白色边框:

白色边框

问题

有少量的空白未被图像占用:

额外的空白

有关的

wiki 展示了如何使用 MP 图形填充页面,但对于仅向页面添加图像而言,这似乎过于复杂:

关于在两页上填充背景图形的问题类似,但在图像顶部有文字:

附加信息

外部图形设置如下:

\setupexternalfigures[
  order={svg,pdf,png,jpg},
  location=global,
  width=\hsize,
]

问题

在不考虑图像纵横比的情况下缩放图像以使其填满整个页面的正确方法是什么?

答案1

通常,你使用\setupbackgrounds[page][background=...]设置页面背景。因此,一个选项是使用

\setupbackgrounds[page][background=...]
\startstandardmakeup
...
\stopstandardmakeup
\setupbackground[page][background=] %Reset

更优雅的选择是扩展化妆机制以接受背景键:

\unprotect
\appendtoks
  \setupbackgrounds[\v!page][\c!background=\makeupparameter\c!background]
\to \t_page_makeup_every_setup
\protect

然后你可以使用

\setupexternalfigures[location={local,default,global}]

\defineoverlay
  [backgroundimage]
  [{\externalfigure[cow.pdf][width=\overlaywidth, height=\overlayheight]}]


\starttext

\startstandardmakeup[background=backgroundimage]
  Whatever
\stopstandardmakeup

Next

\stoptext

如果您只想包含图像,您也可以使用:

\startTEXpage
  \externalfigure[cow.pdf][width=\paperwidth, height=\paperheight]
\stopTEXpage

相关内容