我想将一张图片叠加在另一张图片上,如下所示:
——————————————————————————
| |
| 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的右下方)。