在 LaTeX 中嵌入透明背景图像的技巧

在 LaTeX 中嵌入透明背景图像的技巧

我正在尝试在 LaTeX 海报中嵌入具有透明背景的图像。但是,快速谷歌搜索告诉我这是不可能的。但是我打算了解任何巧妙的解决方法,因为我相信 LaTeX 经常用于制作科学海报,而这些海报需要包含透明图像。

确切的问题。 我正在尝试在带有渐变填充的文本框中添加徽标(具有透明背景)。任何可以实现此目的且不产生白色(或任何其他)背景的方法都值得赞赏。

我当前的解决方法是使用强力技术复制图像背景中的渐变图案。

答案1

您的 Google 来源有误。PDF 版本的 LaTeX 开箱pdflatex即用地支持 PNG 格式,包括透明 PNG。如果您的徽标是其他格式(如 GIF),则只需先将其转换为 PNG 即可。我不建议使用latex带有 DVI 输出的普通编译器。

您需要标准包graphicx来包含图像。加载xcolor也是一个好主意。以下是一些使用透明测试 PNG 的示例,这些示例来自http://entropymine.com/jason/testbed/pngtrans/rgba16.png

\documentclass{article}

\usepackage{xcolor}
\usepackage{graphicx}

\begin{document}

\framebox{\includegraphics{rgba16.png}}
\colorbox{red}{\includegraphics{rgba16.png}}
\colorbox{white}{\includegraphics{rgba16.png}}
\colorbox{yellow}{\includegraphics{rgba16.png}}

\end{document}

显示的第一张图片是原始的透明 PNG。如您所见,其他图片在添加一些背景颜色后效果很好。

结果 1

对于图案和阴影等高级效果,我建议你PGF/TikZ(即tikz包裹)。

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{patterns}

\begin{document}
\begin{tikzpicture}
    \node [pattern=north east lines,inner sep=10pt] {\includegraphics{rgba16.png}};
\end{tikzpicture}
\begin{tikzpicture}
    \node [shade,left color=yellow,right color=blue,inner sep=10pt] {\includegraphics{rgba16.png}};
\end{tikzpicture}
\end{document}

结果 2

答案2

对于 eps 图像来说很简单:

\documentclass{minimal}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{pst-node,graphicx}
\SpecialCoor
\begin{document}
\noindent\pnode(0.5\textwidth,-0.5\textheight){Center}
\blindtext[6]
\rput(Center){\special{ps: 0.4 .setopacityalpha}\includegraphics[width=\textwidth]{tiger.eps}}

\end{document}

在此处输入图片描述

答案3

pdflatex使用graphicx-package 和/或 PGF 能够包含 PNG 或 PDF,两者都可以有透明背景。

如果您必须使用latexdvi2ps类似的东西,请尝试使用 EPS 图像。

相关内容