图像链接在非白色区域(不包括背景)可点击

图像链接在非白色区域(不包括背景)可点击

请考虑下面的图像示例。我使用 \includegraphics 将其包括在内,并使用 \href 将其链接到 URL。

我希望以这样的方式将它放在 pdf 文件中,鼠标仅允许您在经过灰色区域时跟踪链接,而不能穿过白色背景

我正在使用没有背景的 png 文件,但没有成功......

有人知道怎么做吗?

提前谢谢您!

在此处输入图片描述

答案1

这是使用 20x20 网格以较小比例绘制的夏威夷地图。对于最终版本,您将地图的不透明度设置为 1。我发现使用棋盘背景有助于对齐地图链接。使用 a\parbox而不是 tikz\matrix要快得多。

我偷了地图http://www.enchantedlearning.com/usa/states/hawaii/map.GIF并转换为png。

夏威夷地图

\documentclass[multi={tikzpicture,minipage}]{standalone}
\usepackage{tikz}
\usepackage[hidelinks]{hyperref}

\newsavebox{\tempbox}
\newlength{\cellwidth}
\newlength{\cellheight}

\begin{document}
\savebox{\tempbox}{\includegraphics{images/map.png}}
\setlength{\cellwidth}{\dimexpr \wd\tempbox / 20}
\setlength{\cellheight}{\dimexpr \ht\tempbox / 20}
\begin{tikzpicture}
\def\a{\mbox{\color{white}\rule{\cellwidth}{\cellheight}}}
\def\b{\rule{\cellwidth}{\cellheight}}
\def\c{\hyperlink{kauai}{\color{red}\rule{\cellwidth}{\cellheight}}}
\def\d{\hyperlink{niihau}{\color{blue}\rule{\cellwidth}{\cellheight}}}
\def\e{\hyperlink{oahu}{\color{red}\rule{\cellwidth}{\cellheight}}}
\def\f{\hyperlink{molokai}{\color{red}\rule{\cellwidth}{\cellheight}}}
\def\g{\hyperlink{lanai}{\color{red}\rule{\cellwidth}{\cellheight}}}
\def\h{\hyperlink{maui}{\color{blue}\rule{\cellwidth}{\cellheight}}}
\def\i{\hyperlink{kahoolawe}{\color{green}\rule{\cellwidth}{\cellheight}}}
\def\j{\hyperlink{hawaii}{\color{red}\rule{\cellwidth}{\cellheight}}}
\node (links) {\parbox{\wd\tempbox}{\lineskip=0pt
\a\b\a\c\c\b\a\b\a\b\a\b\a\b\a\b\a\b\a\b\\
\b\d\c\c\c\a\b\a\b\a\b\a\b\a\b\a\b\a\b\a\\
\a\d\a\c\a\b\a\b\a\b\a\b\a\b\a\b\a\b\a\b\\
\b\a\b\a\b\a\b\a\e\a\b\a\b\a\b\a\b\a\b\a\\
\a\b\a\b\a\b\a\b\e\b\a\b\a\b\a\b\a\b\a\b\\
\b\a\b\a\b\a\b\a\e\e\b\a\b\a\b\a\b\a\b\a\\
\a\b\a\b\a\b\a\b\a\b\a\f\f\b\a\b\a\b\a\b\\
\b\a\b\a\b\a\b\a\b\a\b\a\b\h\b\a\b\a\b\a\\
\a\b\a\b\a\b\a\b\a\b\a\g\g\h\h\b\a\b\a\b\\
\b\a\b\a\b\a\b\a\b\a\b\g\b\h\h\h\b\a\b\a\\
\a\b\a\b\a\b\a\b\a\b\a\b\i\i\a\b\a\b\a\b\\
\b\a\b\a\b\a\b\a\b\a\b\a\b\a\b\a\b\a\b\a\\
\a\b\a\b\a\b\a\b\a\b\a\b\a\b\a\j\j\b\a\b\\
\b\a\b\a\b\a\b\a\b\a\b\a\b\a\b\j\j\j\b\a\\
\a\b\a\b\a\b\a\b\a\b\a\b\a\b\a\j\j\j\j\b\\
\b\a\b\a\b\a\b\a\b\a\b\a\b\a\b\j\j\j\j\a\\
\a\b\a\b\a\b\a\b\a\b\a\b\a\b\a\j\j\j\j\b\\
\b\a\b\a\b\a\b\a\b\a\b\a\b\a\b\j\j\j\j\a\\
\a\b\a\b\a\b\a\b\a\b\a\b\a\b\a\j\j\b\a\b\\
\b\a\b\a\b\a\b\a\b\a\b\a\b\a\b\j\j\a\b\a}};
\node[opacity=.5] at (links) {\usebox{\tempbox}};
\end{tikzpicture}
\begin{minipage}{2cm}\hypertarget{niihau}{Niihau}\end{minipage}
\begin{minipage}{2cm}\hypertarget{kauai}{Kauai}\end{minipage}
\begin{minipage}{2cm}\hypertarget{oahu}{Oahu}\end{minipage}
\begin{minipage}{2cm}\hypertarget{molokai}{Molokai}\end{minipage}
\begin{minipage}{2cm}\hypertarget{lanai}{Lanai}\end{minipage}
\begin{minipage}{2cm}\hypertarget{maui}{Maui}\end{minipage}
\begin{minipage}{2cm}\hypertarget{kahoolawe}{Kahoolawe}\end{minipage}
\begin{minipage}{2cm}\hypertarget{hawaii}{Hawaii}\end{minipage}
\end{document}

相关内容