我正在尝试在 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。如您所见,其他图片在添加一些背景颜色后效果很好。
对于图案和阴影等高级效果,我建议你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
对于 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,两者都可以有透明背景。
如果您必须使用latex
或dvi2ps
类似的东西,请尝试使用 EPS 图像。