我可以在图片内添加标题吗?

我可以在图片内添加标题吗?

我最近在这个问题

在此处输入图片描述

当我在寻找一种方法来为投影仪演示文稿创建漂亮的标题(没有“图:”)时,我想知道是否可以在 LaTeX 中创建这种效果。

我对 GIMP 的了解目前为止:

在此处输入图片描述 在此处输入图片描述

我这样做了:

  1. 在标题所在的位置添加一个白色图层,并将其透明度设置为 50%
  2. 对图片上要添加标题的位置进行高斯模糊处理 3 添加标题

我可以在 LaTeX 中做到这一点吗?

我有几张图片想要包含在像这样的投影仪演示文稿中,所以如果这个能起作用的话就太好了。

(我尝试过用谷歌图片搜索,但是“latex caption”似乎不太好...即使我过滤了明确的结果)

我的尝试:

\documentclass{article}
\usepackage[pdftex,active,tightpage]{preview}
\setlength\PreviewBorder{2mm}

\usepackage{tikz}

\begin{document}
\begin{preview}
    \begin{tikzpicture}
        \node[anchor=south west,inner sep=0] (image) at (0,0) {\includegraphics[width=\linewidth]{foto-martin.jpg}};
        \begin{scope}[x={(image.south east)},y={(image.north west)}]
            \draw[white, fill=white!50!transparent] (0,0.05) rectangle (1,0.1);
            \node at (0.5, 0.075) {\Huge Martin};
        \end{scope}
    \end{tikzpicture}
\end{preview}
\end{document}

但我不知道如何使透明度/定位发挥作用。

由于有人建议使用 imagemagick,我尝试了这个:

width=`identify -format %w foto-martin.jpg`;     convert         -background '#0008'         -fill white         -gravity center         -size ${width}x40             caption:"Martin"             foto-martin.jpg +swap         -gravity south         -geometry +0+10        -composite  out.jpg

但我无法为标题和周围框中的文本添加一些填充。

答案1

假设这个问题不是使用 TikZ 在图像上绘图您可以使用键来实现您想要的效果opacity=<value>,其中值可以是0(不可见)和1(完全可见)之间的任何值。

截屏

完成 MWE

\documentclass{beamer}

\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}
        \node[anchor=south west,inner sep=0] (image) at (0,0) {\includegraphics[width=\linewidth]{mushroom}};
        \begin{scope}[x={(image.south east)},y={(image.north west)}]
            \draw[white, fill=gray,opacity=0.5] (0,0) rectangle (1,0.15);
            \node[opacity=0.5] at (0.5, 0.075) {\Huge Mushroom};
        \end{scope}
    \end{tikzpicture}
\end{document}

答案2

这是一种使用 ImageMagick 模糊图像并将裁剪版本放置在未模糊图像之上的方法(这需要-shell-escape-enable-write18调用外部程序)。整个过程包装在一个名为的宏中\labelimage{<file name>}{<image width>}{<label text>}。可以使用设置背景矩形样式image label background/.style,标签节点使用image label text/.style

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

\begin{document}

\tikzset{
    image label text/.style={
        white, font=\sffamily
    },
    image label background/.style={
        white, opacity=0.35
    }
}
\newcommand{\labelimage}[3]{
    \begin{tikzpicture}
        \immediate\write18{convert #1 -blur 0x3 blurred#1}
        \node [inner sep=0pt] (original) {\includegraphics[#2]{#1}};
        \begin{scope}[
            fill=white,
            shift=(original.south west),
            x=(original.south east),
            y=(original.north west)
        ]
        \fill [clip] (0,0.05) rectangle (1,0.25);
            \node [inner sep=0pt, anchor=south west] {\includegraphics[#2]{blurred#1}};
            \fill [image label background] (0,0.05) rectangle (1,0.25)
                node [text opacity=1, pos=0.5, image label text] {#3};
        \end{scope}
    \end{tikzpicture}
}
\labelimage{martin.jpg}{width=4em}{Martin}

\end{document}

相关内容