将图像移动适当的距离

将图像移动适当的距离

我试图将文档中的图像精确地从顶部向内移动 1 英寸,从左侧向内移动 2 英寸。但是,图像没有移动正确的距离。我该如何纠正?

\documentclass{article}
\usepackage{tikz}

\newcommand{\colorswitch}{5in}
\newcommand{\coverpageimagesize}{5in}

\definecolor{lside}{HTML}{FF88FF}
\definecolor{rside}{HTML}{FF88AA}

\begin{document}
\begin{tikzpicture}[remember picture,overlay]
  \fill[rside] (current page.north west) rectangle (current page.south east);
  \fill[lside] ([xshift=-\colorswitch]current page.north west) rectangle ([xshift=-\colorswitch]current page.south east);
  \node[anchor=north west] (a) at (1in,-1in) {\includegraphics[width=\coverpageimagesize, height=\coverpageimagesize]{example-image}};
\end{tikzpicture}


\end{document}

目前来看:

在此处输入图片描述

答案1

我只需将其添加为图像的一个选项即可使其工作shift={(current page.north west)}。这告诉 TikZ 原点应该在那里。另外,请注意,TikZ 中的坐标系就像几何中的坐标系一样:顶部和右侧为正值,左侧和底部为负值。我更改了节点坐标以指出这一点。

另外,请注意,我删除了单位,因为我在xy选项中明确设置了它们。

\documentclass{article}
\usepackage{tikz}

\newcommand{\colorswitch}{5in}
\newcommand{\coverpageimagesize}{5in}

\definecolor{lside}{HTML}{FF88FF}
\definecolor{rside}{HTML}{FF88AA}

\begin{document}
\begin{tikzpicture}[remember picture,overlay,x=1in,y=1in,shift={(current page.north west)}]
  \fill[rside] (current page.north west) rectangle (current page.south east);
  \fill[lside] ([xshift=-\colorswitch]current page.north west) rectangle ([xshift=-\colorswitch]current page.south east);
  \node[anchor=north west] (a) at (2,-1) {\includegraphics[width=\coverpageimagesize, height=\coverpageimagesize]{example-image}};
\end{tikzpicture}


\end{document}

在此处输入图片描述

答案2

您的代码只有一个问题,即使用绝对坐标(1in,-1in)

绘制路径时TikZ采用绝对坐标,图形绘制完成后,整个图形以常规字符的形式放置。

操作说明

\node[anchor=north west] (a) at (1in,-1in) 
      {\includegraphics[width=\coverpageimagesize, height=\coverpageimagesize]
      {example-image}};

表示将north west图像锚点放置在绝对位置(1in,-1in)。如果您知道绝对原点在哪里,此指令将非常完美。它在哪里?

\fill (0,0) circle (2pt) node[right] {(0,0)};
\draw[->] (0,0)|-(1in,-1in);
\node[anchor=north west, draw] (a) at (1in,-1in) ...

生产

在此处输入图片描述

因此,如果您期望原点是页面的左上角,那么您就错了,并且您的代码会失败。

或者,您可以使用positioning库及其below right 选项。如果页面左上角和图形左上角之间的距离为,则可以1in使用below of= 1in of current page.north west,如果距离应为向右 1 英寸和向底部 1 英寸below of = 1in and 1in of current page.north west。以下代码显示了这两个选项,请选择其中一个。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}

\newcommand{\colorswitch}{5in}
\newcommand{\coverpageimagesize}{5in}

\definecolor{lside}{HTML}{FF88FF}
\definecolor{rside}{HTML}{FF88AA}

\begin{document}
\begin{tikzpicture}[remember picture,overlay]
  \fill[rside] (current page.north west) rectangle (current page.south east);
  \fill[lside] ([xshift=-\colorswitch]current page.north west) rectangle ([xshift=-\colorswitch]current page.south east);
    \node[below right = 1in of current page.north west] (a) {\includegraphics[width=\coverpageimagesize, height=\coverpageimagesize]{example-image}};
    \draw (current page.north west) -- ++(-45:1in);
    \node[below right = 1in and 1in of current page.north west] (a) {\includegraphics[width=\coverpageimagesize, height=\coverpageimagesize]{example-image}};
    \draw (current page.north west) -| ++(1in,-1in);
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容