使用 Inkscape 创建视频图形模板

使用这些 Inkscape 技巧提升您的会议演讲和视频模板水平。
5 位读者喜欢这篇文章。
Painting art on a computer screen

Opensource.com

最近,我录制了一个15 分钟的教程,并附带了关于如何在 Inkscape 中自动化图形制作的辅助材料。我通过构建一个基本模板,并使用 Maren Hachmann 的 Next Generator Inkscape 扩展,从 CSV 文件中自动替换文件中的各种文本字符串来演示这一点。如果您更喜欢阅读而不是观看视频,您可以阅读配套文章 我如何使用 Inkscape 自动化图形创建,就在 Opensource.com 上。

根据该教程的广泛需求,我创建了一个更高级的教程,扩展了上一个教程。它演示了如何使用相同的方法自动化图像替换和颜色更改。

您可以在 Fedora 设计团队 Linux Rocks PeerTube 频道 或下面的嵌入式 YouTube 视频上观看它
 

在本文中,我提供了一些关于本教程用途的背景信息。我还包括了视频内容的高度概括摘要,以防您更喜欢浏览文本而不是观看视频。

会议演讲卡片图形

本教程的背景延续了原始教程。对于每次 Flock/Nest 会议,您都需要为每个演讲制作一个图形,用于托管虚拟会议的在线平台。大型活动通常有 50 场或更多演讲。这需要手动制作大量图形。

通过本教程,您将学习如何在 Inkscape 中制作像这样的模板

Image of an Inkscape template.

(Máirín Duffy,CC BY-SA 4.0)

以及像这样的 CSV 文件

ConferenceName, TalkName, PresenterNames, TrackNames, BackgroundColor1, BackgroundColor2, AccentColor, Photo
BestCon, The Pandas Are Marching, Beefy D. Miracle, Exercise, 51a2da, 294172, e59728, beefy.png
Fedora Nest, Why Fedora is the Best Linux, Colúr and Badger, The Best Things, afda51, 0d76c4, 79db32, colur.png
BambooFest 2022, Bamboo Tastes Better with Fedora, Panda, Panda Life, 9551da, 130dc4, a07cbc, panda.png
AwesomeCon, The Best Talk You Ever Heard, Dr. Ver E. Awesome, Hyperbole, da51aa, e1767c, db3279, badger.png

您可以将它们组合起来,为 CSV 中的每一行生成一个图形,其中幻灯片的背景颜色、轨道名称的背景颜色、演讲者头像背景和演讲者头像图像都会相应地更改

Image of a combined CSV and Inkscape template.

(Máirín Duffy,CC BY-SA 4.0)

您可以将此技术用于许多事情。您可以使用它为您的频道视频创建一致的封面图像。您甚至可以使用它为 Fedora 创建精彩的横幅和图形,作为 Fedora 设计团队 的成员!

安装 Inkscape Next Generator 扩展

创建这些图形的第一步是安装由 Maren Hachmann 创建的 Inkscape Next Generator 扩展

  1. 访问该网站并从存储库的顶层下载 next_gen.inx next_gen.py
  2. 然后在 Inkscape 中进入 编辑 > 首选项 > 系统 对话框。搜索 用户扩展 目录列表,然后单击旁边的 打开 图标。将 .inx 和 .py 文件拖到该文件夹中。
  3. 最后,您应该关闭所有打开的 Inkscape 窗口并重新启动 Inkscape。新扩展位于 扩展 菜单下:扩展 > 导出 > Next Generator

创建模板

您的 CSV 文件(在我的示例中:ConferenceName、TalkName、PresenterNames)的每个标题都是一个变量,您可以将其放置在用作模板的 Inkscape 文件中。查看 示例 SVG 模板文件 以获取说明。如果您希望 TalkName 出现在您的模板中,请在 Inkscape 中创建一个文本对象,并将以下内容放入其中

%VAR_TalkName%

当您运行扩展时,%VAR_TalkName% 文本将被替换为 CSV 的每一行中列出的 TalkName。因此,对于第一行,%VAR_TalkName% 将被替换为文本 The Pandas Are Marching 以生成第一个图形。对于第二个图形,TalkNameWhy Fedora is the Best Linux。您继续执行此操作,直到获得每个图形的 TalkName 列。

扩展模板以进行颜色更改

对于颜色更改,您无需做太多操作,只需确定要更改的颜色即可。您可以为 CSV 中的颜色想出字段名称,并为 CSV 的每一行选择颜色。在我的示例 CSV 中,有两个背景渐变颜色会更改(BackgroundColor1 和 BackgroundColor2)和一个强调色 (AccentColor),用于为会议轨道名称背景菱形以及演讲者头像的轮廓着色

BackgroundColor1, BackgroundColor2, AccentColor
51a2da, 	         ,294172 	     ,e59728
afda51, 	         ,0d76c4 	     ,79db32
9551da, 	         ,130dc4 	     ,a07cbc
da51aa, 	         ,e1767c 	     ,db3279

仅更改相同颜色的某些项目

如果您在图像的某些部分具有要更改的相同颜色,而在图像的其他部分保持不变,则需要执行一个技巧。

Next Generator 中的颜色更改工作方式是一种简单的查找和替换机制。因此,当您在 Inkscape 中告诉 Next Generator 将任何颜色代码为 #ff0000(这是示例模板中的颜色代码,我喜欢称之为刺眼的红色)的内容替换为其他颜色(例如 #aaaa00)时,它会将文件中颜色为 #ff0000 的每个对象都替换为新值 #aaaa00

如果您只想更改会议轨道名称背景的红色,但又想在所有图形中保持演讲者头像周围的颜色边框为红色,则可以使用一个小技巧来实现此目的。只需使用 Inkscape 中 填充和描边 对话框中的 HSV 工具将您不想要的红色项目向下调整一个刻度即可。如果您将其更改为 #fa0000,则其颜色代码具有不同的十六进制值。然后,您可以让任何颜色为 #ff0000 的内容根据 CSV 中的值更改颜色。任何颜色为 #fa0000 的内容都将保持红色,并且不受颜色替换机制的影响。

现在需要注意一些关于颜色代码的事项

  • 不要在 CSV 或 JSON(稍后会详细介绍 JSON)中使用 # 作为这些颜色值。
  • 仅使用十六进制颜色代码的前六个“数字”。Inkscape 默认包含 8 个,最后两个是颜色的 alpha 通道/不透明度值。(但是等等,那么您如何在此处使用不同的不透明度颜色值呢?您或许可以使用内联样式表来更改您想要透明的项目的 fill-opacity 值,但我尚未对此进行测试。)

扩展模板以进行图像更改

首先,您需要向模板添加“占位符”图像。通过链接它们来执行此操作。将它们导入 Inkscape 时,不要嵌入它们。我在模板中嵌入了一个 – photo.png。

然后,为颜色更改和图像更改准备 CSV。您需要为您要交换的任何图像在 CSV 中想出字段名称。您可以列出您要在 CSV 的每一行中替换的图像文件名。在示例 CSV 中,您只有一个图像,字段名称为“Photo”

Photo
beefy.png
colur.png
panda.png
badger.png

请注意,CSV 中列出的图像只是文件名。我建议将这些文件放在与模板 SVG 文件相同的目录中。这样您就不必担心指定特定的文件路径。这使您的模板更便携(tar 或 zip 压缩并共享)。

为 Next Generator 对话框构建 JSON

使所有这些工作正常运行的最后(也是最棘手的)一步是为 Next Generator 编写一些 JSON 格式的键值对。这有助于它了解模板文件中存在哪些颜色和图像映射,以及 CSV 文件中存在哪些字段名称和列标题,以便它知道什么放在哪里。

这是我使用的示例 JSON

{"BackgroundColor1":"51a2da","BackgroundColor2":"294172","AccentColor":"ff0000","Photo":"photo.png"}

我在哪里为 JSON 想出这些颜色代码的?它们都是从 template.svg 文件中选取的。颜色代码 51a2da 是背景圆形渐变中较浅的蓝色,而 294172 是渐变底部较深的蓝色。颜色代码 ff0000 (刺眼的红色)是演讲者头像周围的颜色边框和轨道名称后面的背景菱形颜色。

photo.png 文件名来自哪里?这是我用于头像放置的占位符图像的名称。如果您在 Inkscape 中不确定您使用的图像的文件名是什么,请右键单击,选择 图像属性,它就是侧边栏中弹出的 URL 字段中的值。

运行生成器

模板准备就绪后,只需通过将 CSV 加载到其中来运行 Next Generator 扩展。选择您要在每个文件名中使用的变量(标题名称),并将您的 JSON 代码片段复制粘贴到对话框中的 要替换的非文本值 字段中

Image of what fields to select in Next Generator.

(Máirín Duffy,CC BY-SA 4.0)

点击应用并享受!

排除颜色和图像替换问题

我为您留下一些来之不易的知识,关于如何在颜色和/或图像替换不起作用时进行故障排除

  • 图像名称只是文件名。将图像保存在与模板相同的目录中。您无需使用完整的文件路径。(这将使您的模板更便携,因为您可以 tar 或 zip 压缩目录并共享它。)
  • 电子表格中的图像名称、颜色值和变量名称不需要任何“或’,除非您需要在文本字段中转义逗号 (,) 字符。JSON 中的图像名称、颜色值和变量名称始终需要引号。
  • # 字符不位于颜色值之前。如果您添加它,它将不起作用。
  • 默认情况下,Inkscape 为您提供 8 位十六进制颜色代码。最后两位对应于颜色的 alpha 值(ff0000ff 表示不透明的亮红色。)您需要删除最后两位,以便您使用基本的 6 位“数字”十六进制代码来表示颜色值(对应于 RGB 颜色),以从颜色代码中删除不透明度/alpha 值。否则,颜色替换将不起作用。
  • 检查 JSON 中的所有变量名称是否与 CSV 标题条目中的变量名称完全相同,只是 JSON 中带有 “(CSV 中的 BackgroundColor1 在 JSON 中是 “BackgroundColor1”)。
  • 使用您在模板中替换的默认图像的文件名。您不使用 ObjectID 或任何其他 Inkscape 特定的图像标识符。此外,链接图像而不是嵌入它。
User profile image.
Máirín 是红帽的高级首席交互设计师。她对软件自由和免费及开源工具充满热情,尤其是在创意领域:她最喜欢的应用程序是 Inkscape (http://inkscape.org)。

评论已关闭。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© 2025 open-source.net.cn. All rights reserved.