如何淡化阴影框

如何淡化阴影框

我正在尝试在图像上覆盖一个阴影透明框,以便能够在框内写入以下内容:

\documentclass{report}
\usepackage{xcolor}
\definecolor{lblue}{RGB}{15,77,158}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
    \node[] at (0,0) {\includegraphics[width=0.9\textwidth,]{IMG_2124_Everest.jpg}};
    \shade [left color=lblue, right color=lblue, opacity=0.6] (-4,1) rectangle (4,2.5);
    \node[shift={(-0.0cm,1.73cm)}] at (0,0) { \textcolor{white}{\Huge\textbf{Mount Everest}} };
\end{tikzpicture}

\end{document}

图片来源:http://upload.wikimedia.org/wikipedia/commons/0/00/IMG_2124_Everest.jpg

我想淡化阴影框的边框,以降低定义它的线的可见性。

我读过了:

但我不知道如何将其应用于阴影框。这可能吗?

图片来源:http://upload.wikimedia.org/wikipedia/commons/0/00/IMG_2124_Everest.jpg

答案1

此解决方案使用foreach循环从内部矩形框转到具有圆角的外部框。有关其他解决方案,请参阅 OP 中的链接问题。

\documentclass[tikz, border=1cm]{standalone}
\usetikzlibrary{fadings}
\pgfmathsetmacro{\mywidth}{9}
\pgfmathsetmacro{\myheight}{3.5}
\pgfmathsetmacro{\myfadewidth}{1}
\begin{tikzfadingfrompicture}[name=myfading]
\foreach \i in {100,...,0}
\fill[transparent!\i, rounded corners=\myfadewidth/100*\i cm] (-\mywidth/2-\myfadewidth/100*\i+\myfadewidth,-\myheight/2-\myfadewidth/100*\i+\myfadewidth) rectangle (\mywidth/2+\myfadewidth/100*\i-\myfadewidth,\myheight/2+\myfadewidth/100*\i-\myfadewidth);
\end{tikzfadingfrompicture}
\begin{document}
\begin{tikzpicture}
\node {\includegraphics[width=12cm]{example-image}};
\node[
fill=blue, text=white, 
fill opacity=0.6, text opacity=1,
minimum width=\mywidth cm, minimum height=\myheight cm,
path fading=myfading, fit fading=false,
font=\Huge\bf,
yshift=1.5cm, fading transform={yshift=1.5cm},
] {Mount Everest};
\end{tikzpicture}
\end{document}

示例图像中褪色的蓝色框内的文字“珠穆朗玛峰”

珠穆朗玛峰图片上褪色的蓝色方框内显示“珠穆朗玛峰”字样

可以使用而不是循环\pgfdeclarefunctionalshading,但这并不简单,并且手册中出现了以下警告:

这些着色是最不便携的,它们给渲染器带来最重的负担。它们很慢,而且可能无法正确打印!

相关内容