如何将一张图片置于另一张图片之上?

如何将一张图片置于另一张图片之上?

我想将一张图片叠加在另一张图片上,如下所示:

——————————————————————————
|                        |
|     img1               |
|                        |
|              ————————  |
|              | img2 |  |
|              ————————  |
——————————————————————————

我如何使用 ConTeXt 来实现这一点?

我不知道从哪里开始。玩弄空格(例如 )似乎\blank没有帮助。

答案1

对于这样一个简单的任务,加载像 tikz 这样的大型库是没有必要的。您可以将 img1 作为背景放置在放置 img2 的框架中。如需进一步调整,您可以设置偏移或顶部和底部等参数(请参阅文档)。以下是一个例子:

\startTEXpage

\defineoverlay [mybackground] [{\externalfigure [mill]
  [width=\overlaywidth,height=\overlayheight]}]

\framed [background=mybackground,
     frame=off,
     strut=no,
     width=7cm,
     height=10cm,
     offset=\zeropoint,
     top=\vss,
     bottom=,
     align=flushright]
{\externalfigure [hacker] [height=2cm]}

\stopTEXpage

结果是:

在此处输入图片描述

答案2

正如 JLDiaz 所提到的,TiKz 与 ConTeXt 兼容.然后阐述这个答案解决方案很简单:

\usemodule[tikz]
\starttext
  \starttikzpicture
    \node[anchor=south west,inner sep=0] (image) at (0,0) {\externalfigure[fig1][width=10cm]};
    \startscope[x={(image.south east)},y={(image.north west)}]
      \node[anchor=south west,inner sep=0] at (0.7,0.2) {\externalfigure[fig2][width=2cm]};
    \stopscope
  \stoptikzpicture
\stoptext

(如果您熟悉绝对坐标,\startscope则不需要线条。)\endscope

x={(image.south east)}将单位向量重新定义x为从(0,0)(img1的左下方)到(image.south east)(即img1的右下方)。

相关内容