在之前的版本中,我们已经完成了对 Krita 资源系统的重写。现在我们终于可以着手解决那些在 Krita 中最为人诟病的痛点了。Krita 5.2 的主要工作是底层代码的升级和调整,这将为日后的实际改进打下基础。
动画功能有两处痛点得到了解决:音频播放 (MR 1323) 和视频导出的简化 (MR 1599)。
在音频播放方面,为了能让 Emmet 和 Eoin 解决音频播放时的同步问题,我们使用 MLT 多媒体框架完全重写了 Krita 的音频播放程序机制。
在视频导出方面,新版 Krita 已经在软件包中自带了 FFmpeg 的精简版本。FFmpeg 是 Krita 在导出视频时需要使用的第三方程序,它是一款自由开源的视频处理程序工具集合。在旧版 Krita 中,用户必须自行下载并指定 FFmpeg 可执行程序的位置才能导出视频。Krita 自带 FFmpeg 后,不熟悉相关技术的普通用户可以免去配置的痛苦,尤其是在使用缺少管理权限的设备时——例如安卓设备、由机构 (如学校) 管理的电脑等。
Wolthera 完全重写了 Krita 的文字排版引擎。这是因为旧的文字排版引擎对文字的控制能力有所欠缺,导致我们在改进文字工具、扩展文字功能时难以施展。
新版文字排版引擎支持所有旧版引擎的功能,并且增加了文字按路径排列 (路径文字)、竖排文字、自动换行、文字按形状排列等新功能。它还支持 OpenType 功能、渲染表情符号 (点阵、colrV0 表情符号类型) (MR 1607, MR 1767)。
不过先别急,Krita 5.2 还没有准备好新版的文字工具——您暂时只能通过文字工具的 SVG 代码页面调用新版文字排版引擎的功能。我们将在 Krita 5.3 重点改进文字工具,让它实现在画布上进行所见即所得的文字编辑、提供用于操作新功能的菜单、预设等。
Dmitry Kazakov 对 Krita 的合并撤销功能进行了大幅更新 (MR 1780)。合并撤销功能可以将撤销历史中的多个操作合并为一个操作,这在笔画细碎的场合可以让撤销更加有用。我们在 Krita 5.2 中精简了此功能的代码,并且让选项更加直观。
Przemysław Gołąb 为草图笔刷引擎增加了绘制结果抗锯齿的功能 (MR 1425)。
Freya Lupen 为变形工具增加了同时变形多个图层的功能 (MR 1792)。
Deif Lou 为填充工具增加了一个新的模式:“填充颜色相似的区域” (MR 1577)。除此之外,填充工具、闭合填充工具 (圈涂) 还增加了两个选项:“遇到最暗或者最不透明像素时停止扩大选区”、“填充所有区域,直至遇到指定的边界颜色” (MR 1549, 1560);两个填充工具新增了“使用自定义混合选项”的选项,勾选后即可使用与手绘笔刷模式不同的混合模式 (MR 1749)。
相连颜色选区工具/魔棒增加了与上述填充工具相同的选区范围扩展功能 (MR 1549)。在“配置 Krita”对话框的“显示”页面的“画布辅助显示”选项卡中增加了设置选区蒙版透明度的选项 (MR 1697)。选区蒙版的视觉要素现在可以根据屏幕 DPI 自动调整 (MR 1774)。
新增了以下操作的快捷键位:
Mathias Wein 为 Krita 编写了一个宽色域拾色器。这个拾色器的功能与原有的多功能拾色器相似,但区别在于它除了 sRGB 色域外还支持宽色域。我们计划在未来用它取代原有的拾色器,在此之前我们将测试并确保它不会缺少任何已有的功能 (MR 1600)。
图层面板增加了一些显示选项:
我们更改了 CMYK 混合模式的工作方式,并在设置对话框提供了一个选项以供切换 (MR 1796)。这样 Krita 将使用与 Photoshop 相同的方式处理 CMYK 色彩空间下面的混合模式,简化了跨程序处理 CMYK 色彩空间的 PSD 文件时的操作。
Rasyuqa A. H. 改进了 JPEG-XL 格式的保存和加载代码,实现了 JPEG-XL 的 CMYK 支持,通过为 JXL 程序库提供更多的色彩空间信息以提高压缩率,为保存和加载 JPEG-XL 的光栅图层改进了元数据处理功能 (MR 1656, 1693, 1673, 1722, 1795)。他还改进了 WebP 压缩选项 (MR 1785),并改进了 ICC 转换特性的代码 (MR 1667, 1690)。
用 JPEG-XL 的 XYB 色彩空间替代原始色彩空间后,JPEG-XL 编码器在处理极端高亮度颜色区域 (例如比正常白更亮 40 倍) 时可以大幅提升压缩画质和压缩率。在上图的例子中消除了高光色周围的环状杂色。
这版 Krita 的其中一个重大技术性升级是使用 Lager 程序库重写了笔刷引擎的代码。在旧版代码中,笔刷预设和控件的代码已经变得相互纠缠不清,使得我们在增加选项时非常不便。我们希望通过这次重写为日后重新设计笔刷设置空间打下基础 (MR 1334)。