我想为beamer
转换为 PNG 图像的每个 PDF 输出页面获取不透明背景。我尝试更改,\setbeamercovered{transparent=50}
但这导致整个 PDF 页面的内容与最后一页相同。
是否有这样的选项beamer
可以制作不透明的背景?
\documentclass{beamer}
%\setbeamercovered{transparent=50}
\usepackage{tikz}
\usepackage[active,tightpage]{preview}
\PreviewBorder=12pt
\PreviewEnvironment{tikzpicture}
\begin{document}
\begin{frame}
\begin{tikzpicture}
\begin{scope}
\draw[ultra thick] (0,0) ellipse[ x radius=1.2cm,y radius=2cm];\pause
\clip (0,0) ellipse [x radius=1.2cm,y radius=2cm];\pause
\fill[green] (0,0) ellipse [x radius=1.2cm,y radius=2cm];\pause
\fill[orange] (-1.4,-2) rectangle (-0.8,2);\pause
\fill[blue] (-1.4,1.5) -- (0.2,1.5) -- (1.2,0.8) -- (1.2,2) --(-1.2,2) -- cycle;\pause
\fill[yellow] (-0.75,1.5) -- (0.2,1.5) -- (0.8,1) -- (0.6,0.2) --(0.2,0) -- (-0.75,0) -- cycle;\pause
\fill[magenta] (0.8,1) -- (0.6,0.2) --(0.2,0) -- (0.8,-0.8) -- (0.8,-1.4) -- (1.4,-1.4) -- (1.4,1) --cycle;\pause
\node[scale=12,inner sep=0pt] {R};
\end{scope}
\end{tikzpicture}
\end{frame}
\end{document}
beamer
当转换为 PNG 图像时,如何使输出的每个 PDF 页面都有不透明的背景?
答案1
具有默认主题的 Beamer 框架具有总是白色背景。
您的 MWE 是不是一份 beamer 文档。它是tikzpicture
提取的一些 s preview
。
您可以使用特殊节点和环境(由TikZ 库提供)tikzpicture
填充边界框来为每个节点添加白色背景:current bounding box
pgfonlayer
backgrounds
\documentclass{beamer}
%\setbeamercovered{transparent=50}
\usepackage{tikz}
\usetikzlibrary{backgrounds}
\usepackage[active,tightpage]{preview}
\PreviewBorder=12pt
\PreviewEnvironment{tikzpicture}
\begin{document}
\begin{frame}
\begin{tikzpicture}
\begin{scope}
\draw[ultra thick] (0,0) ellipse[ x radius=1.2cm,y radius=2cm];\pause
\clip (0,0) ellipse [x radius=1.2cm,y radius=2cm];\pause
\fill[green] (0,0) ellipse [x radius=1.2cm,y radius=2cm];\pause
\fill[orange] (-1.4,-2) rectangle (-0.8,2);\pause
\fill[blue] (-1.4,1.5) -- (0.2,1.5) -- (1.2,0.8) -- (1.2,2) --(-1.2,2) -- cycle;\pause
\fill[yellow] (-0.75,1.5) -- (0.2,1.5) -- (0.8,1) -- (0.6,0.2) --(0.2,0) -- (-0.75,0) -- cycle;\pause
\fill[magenta] (0.8,1) -- (0.6,0.2) --(0.2,0) -- (0.8,-0.8) -- (0.8,-1.4) -- (1.4,-1.4) -- (1.4,1) --cycle;\pause
\node[scale=12,inner sep=0pt] {R};
\end{scope}
\begin{pgfonlayer}{background}
\fill[white]
(current bounding box.south east)
rectangle
(current bounding box.north west);
\end{pgfonlayer}
\end{tikzpicture}
\end{frame}
\end{document}
答案2
虽然这并非严格意义上的 TeX 问题,但您可以使用convert
工具中的选项来imagemagick
执行此操作。要使用的两个选项是 和-background
。-flatten
第一个设置背景颜色,但第二个是必需的,因为默认情况下输出将是分层的,这在 png 中不太适用。
我通常使用以下命令从 pdf 输出 png,我用它来在此处发布截图,如下所示:
convert -density 600 -background white -flatten -resize 600 file.pdf file.png
顺序非常重要,因为它会影响输出的质量。
density
和选项resize
也有助于提高输出质量,但实际上并没有关系,尽管它们实际上有助于以-flatten
某种方式处理选项。(以术语或单位density
表示DPI
,resize
以像素为单位,当只给出一个数字时,它对应于输出文件的宽度,高度在保持源纵横比的同时进行适当缩放)
密度/调整大小部分的要点是选择一种密度,在不调整大小的情况下,该密度至少是您实际想要获得的图像尺寸的两倍。