将投影仪幻灯片转换为动画图像

将投影仪幻灯片转换为动画图像

作为后续行动突出显示 TikZ 绘图的特定部分,我想知道如何gif从一系列beamer幻灯片生成动画图像()。

Martin Scharrer 举了这个例子:

图 1

我们也欢迎提供一些有关裁剪 PDF 文件的提示。=)

答案1

我在 Ubuntu Linux 下按照以下方式生成了该动画 GIF。它应该也可以在其他操作系统下工作,因为外部软件也可用于 Windows、Mac 和其他操作系统。

这假设beamer frame带有多个叠加层作为起点。上面的 GIF 代码可以在我的回答中找到突出显示 TikZ 绘图的特定部分

  1. 确保其他幻灯片都是空的,例如\setbeamertemplate{navigation symbols}{}%
  2. 确保所有幻灯片具有相同的大小。
  3. 编译为 PDF(直接或间接)。
  4. 裁剪 PDF,例如使用pdfcrop <file>.pdf
  5. 使用图像魔术师从多页 PDF 生成动画 GIF:

    convert -verbose -delay 50 -loop 0 -density 300 <file>-crop.pdf <file>.gif
    

    根据您的喜好更改设置。
    -verbose其实不是必需的。
    -delay以 1/100 秒为单位说明动画中每幅图像的持续时间。
    -loop说明重复次数。0此处表示无限重复。
    -density确定光栅图像的密度,单位为每英寸点数 (dpi)。这将影响 GIF 大小,并且由于 PDF 是矢量图形,因此是必需的。您还可以使用300x300等分别选择 X 和 Y 密度。

这里还有一个外部示例,展示了我在其中一篇科学出版物中所用的图表:脉宽调制(30万)

我可能会添加对此的支持standalone。开发人员版本中已经添加了转换支持。

答案2

对于那些需要非 Beamer 版本的人,请参阅以下内容。

LaTeX 输入文件:

在此插图中我使用了 PSTricks。

% travelingwave.tex
\documentclass{minimal}
\usepackage{pstricks-add,multido}
\newcommand\Left{0}
\newcommand\Bottom{-0.9}
\newcommand\Right{3.14}
\newcommand\Top{0.9}

\parindent=0pt
\paperwidth=\dimexpr\Right cm\relax
\paperheight=\dimexpr\Top cm - \Bottom cm\relax
\special{papersize=\the\paperwidth,\the\paperheight}
\topmargin=-72.27pt
\oddsidemargin=-72.27pt
\pagecolor{black}

\begin{document}
\multido{\r=0+7.5}{48}
{
    \begin{pspicture*}(\Left,\Bottom)(\Right,\Top)
    \psplot[plotpoints=300,algebraic,linecolor=yellow]{\Left}{\Right}{0.9*sin(2*(x-\r*Pi/360))}
    \end{pspicture*}\newpage
}
\end{document}

批处理文件:

rem compile.bat takes a LaTeX input file without extension.
echo off
latex %1
dvips -t unknown %1
gswin32c -dAutoRotatePages=/None -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=%1.pdf %1.ps
convert -verbose -delay 25 -loop 0 -density 300 %1.pdf %1.gif
rem acrord32 %1.pdf
del %1.log
del %1.aux
del %1.dvi
del %1.ps

为了简单起见,将travelingwave.tex和保存compile.bat在同一目录中。要编译,请输入compile travelingwaveDOS 命令,然后按回车键。完成!

结果:

在此处输入图片描述

笔记:

  1. ImageMagick v6 示例——动画基础convert有关开关的详细描述。
  2. 如果\pagecolor{<any-color-including-white>}禁用,我们将得到如下效果。 在此处输入图片描述
  3. ImageMagick在后台 convert调用 GhostScript如下。gswin32c.exe在此处输入图片描述

答案3

我不知道我的答案是否符合在此网站上发布答案的要求(因为它实际上不LaTeX涉及任何代码),但它就在这里。


随着在线工具的出现,将一定范围的文档转换为其他范围的文档变得很容易,而无需下载任何程序。所有这些工具都易于使用,因此不需要占用我们电脑中的任何空间。

由于beamer输出是PDF文件,我们可以将PDF其转换GIF易捷格式按照以下简单步骤:

  1. UploadPDF 文档
  2. Set upGIF(选择幻灯片和延迟量)
  3. Convert!

以下是一个例子:

在此处输入图片描述

答案4

在 ImageMagick 上花了几个小时却毫无结果(我一直收到错误消息)后,我决定使用 Photoshop + Acrobat Pro 解决方案。下面是我的做法。


所需软件

  • Acrobat Pro(我使用的是 Acrobat X),或任何其他允许您将 PDF 页面导出或保存为图像的 PDF 阅读器
  • Photoshop(我使用的是 CS3,但可能更新的版本,甚至稍旧的版本也可以使用)

脚步:

  1. 生成 Beamer 幻灯片的 PDF 文件
  2. 在 Acrobat Pro 中,点击File> Save as> Image> <select PNG or JPEG>,在弹出的窗口中选择Settings...右侧的 ,在“转换”下将“分辨率”改为600 pixels/inch或以上(默认分辨率很低),然后点击OKSave,每页图片就会保存为 到指定位置<PDF_Name>_Page_#.png
  3. 打开 Photoshop,转到File> Script> Load Files into StackBrowse选择步骤 2 中生成的所有图像文件并单击OK。现在所有页面都应作为 Photoshop 文档的图层导入。
  4. 转到Window并选择Animation显示动画面板。
  5. 从动画面板右上角的弹出菜单中,选择Make frames from layers,然后Reverse frames按正确的顺序设置帧。
  6. 在动画面板中选择所有帧(单击第一帧,然后Shift按住 Ctrl 键并单击最后一帧),并在任意帧的右下角选择帧速率。您还可以在面板左下角设置重复选项。单击播放按钮进行预览。
  7. 最后,转到File> Save for Web & Devices...> Save(右上角)> 为其命名,并确保选择.gif作为扩展名。然后我们就完成了!

注意:如果要裁剪 PDF 文件,则在步骤 6 之后,选择图层面板中的所有图层,使用裁剪工具裁剪图像。

字符串识别gif

波浪的 gif

相关内容