快速提问

快速提问

在我的 TeX 发行版中,有两个 Asymptote 示例分别名为inlinemovie.texinlinemovie3.tex。(它们也是可在此处获得

快速提问

中的两个动画inlinemovie.tex具有透明背景,而中的动画的inlinemovie3.tex背景是不透明的白色。您可以通过在两个文件\vspace*{-3cm}之间添加\end{verbatim}和来验证这一点。begin{center}

我也想要后者的透明。

透明背景:

不透明背景:

解释

几天来我一直在尝试理解 TeX 世界中的动画。虽然 TiZ 非常棒,我发现 Asymptote 由于其渲染 3D 对象的能力而无可替代。

但是,Asymptote 的英文文档并不完善。事实证明,我需要以下命令才能inlinemovie.tex完全编译:

  1. pdflatex inlinemovie.tex: 创建inlinemovie-1.asyinlinemovie-2.asy
  2. asy inlinemovie-*.asy:编译-1.asy-2.asy创建垃圾……
  3. pdflatex inlinemovie.tex:包括上一步的图像。
  4. pdflatex inlinemovie.tex:为了安全。

问题从第 2 步开始。如果你直接跳过asy inlinemovie-* -keep,你会看到 Asymptote 创建了诸如_movie1_9.pdf_movie1.pdf_movie2_9.pdf_movie2.pdf_movie1_9.eps和 之类的文件_movie2_9.eps。很难说出这些文件名背后的逻辑是什么。

如果最终结果是透明背景,那就没问题了。但是,当我编译时inlinemovie3.tex,我发现图片的_movie3+9.pdf背景是不透明的。所以我猜后面的所有内容也会有不透明的背景。

我从经验中知道 PNG 输出总是 可能通过外部程序,透明背景,无论是2D还是3D。所以问题出在动画部分。我可以将中间文件变成 PNG 格式,以便可以使其透明化吗?我尝试检查animation.asyanimate.sty但无法说出究竟是什么产生了_movie3+9.pdf 以及它的背景


PS:我犯了一个愚蠢的错误,太愚蠢了,我需要编辑我的帖子,我知道这会让我的帖子升到列表的顶部。

在 OG 的评论之后,我检查了我旧的透明 3D PNG,并尝试重新编译其中一些。令人惊讶的是,我发现我实际上已经编写了一个额外的脚本来生成透明版本并用相同的文件名替换旧文件 --- 我只是忘记了我的努力并将它们视为默认值。

此脚本至今仍有效。因此,唯一的问题是插入透明化步骤。更准确地说,有人能找到生成的那一行_movie3+9.pdf并告诉我是否可以在 Asymptote 中调用外部脚本(可能是涉及 ImageMagick 的脚本),我想完成剩下的工作。

相关内容