使用 right= of 时 Tikz 节点背景图像不居中

使用 right= of 时 Tikz 节点背景图像不居中

为什么图像没有位于右侧节点的中心?

在此处输入图片描述

\usepackage{tikz}
\usepackage{mwe}
\tikzset{
  image/.style={
    path picture={
      \node at (path picture bounding box.center) {
        \includegraphics[width=2cm]{example-image}};}}
}

\begin{document}

\begin{tikzpicture}

\tikzstyle{node}=[rectangle, minimum width=2cm, minimum height=1cm, thick, draw =black!100, node distance = 16mm]

    \node[node, image] (y_src_i) [label=below:$\phi_i$] { };
    \node[node, image] (x_src_i) [right=of y_src_i, label=below:$\phi_j$] { };
\end{tikzpicture}

答案1

首先,你需要这个positioning库。其次,你必须在-styleanchor=center中指定image才能达到所需的效果。

代码

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

\usepackage{mwe}
\tikzset{
  image/.style={
    path picture={
      \node[anchor=center] at (path picture bounding box.center) {
        \includegraphics[width=2cm]{example-image}};}},
  node/.style={
  rectangle, minimum width=2cm, minimum height=1cm, thick, draw =black!100, node distance = 26mm}
}

\begin{document}
\begin{tikzpicture}
    \node[node,image] (y_src_i) [label=below:$\phi_i$] {};
    \node[node,image] (x_src_i) [right=of y_src_i, label=below:$\phi_j$] {};
\end{tikzpicture}
\end{document}

输出 在此处输入图片描述

相关内容