在 ubuntu 上使用 Skia 库测试无法获得 UI 显示
Posted
技术标签:
【中文标题】在 ubuntu 上使用 Skia 库测试无法获得 UI 显示【英文标题】:Not getting UI display with Skia library tests on ubuntu 【发布时间】:2013-03-12 16:26:51 【问题描述】:我按照skia site 的步骤在我的 Ubuntu 12.04 64 位机器上编译skia r1236。 当我运行测试时,没有窗口显示图形结果。控制台上的输出是:
[1/33] PDFPrimitives... ..................... [33/33] 位图复制... 完成 33 次测试,0 次失败。
如果我使用 SkImageEncoder::EncodeFile 将位图放到文件中,我会得到文件的图形输出。这确认该库工作正常,但无法调用 linux 窗口系统。
另一个问题是,在运行文本时,我收到以下错误
SkFontHost::OpenStream 打开 1 失败 --- 字形 0 没有上下文
我已经按照Skia website 的描述安装了所有的freetype 库,但是无论我在SK_FONT_FILE_PREFIX 中使用哪个路径,我仍然有错误。
我的“/usr/share/fonts/”文件夹有
cmap 真实类型 类型1 X11我注意到有一个文件 SkOSWIndow_Unix.cpp 但似乎没有人从测试代码中调用它。所以我的问题是
1) 我们如何让输出显示在窗口上?
2) SK_FONT_FILE_PREFIX 的值应该是多少?
PS : Windows 端口工作正常
【问题讨论】:
【参考方案1】:Skia r1236 至少使用了两年;你应该使用更新的东西。网站上的说明不到一年。
Linux 测试和 Windows 测试产生相同的结果。您应该在 Linux 中看到与在 Windows 中相同的结果。
部分问题是 您正在运行哪些特定测试。根据您对 Linux shell 输出的描述,这些是“gm”测试,不显示窗口。他们在屏幕外的画布上绘制图片。
使用“-w”选项,gm 会将图像以 png 格式写入目录。 使用“-r”选项,gm 将从目录中读取图像并将它们与它生成的图像进行比较。
Skia 中的 SampleApp 应用程序确实使用 Linux 窗口系统。但是,我们不支持用于创建它的“视图”库。 Skia 是一个独立于平台的渲染引擎;您需要提供自己的 Windows 管理。
请注意,自 6000 年代或 7000 年代以来,gm 的功能略有不同;默认结帐将不再包含所有平台上所有 GM 的参考图像。【讨论】:
以上是关于在 ubuntu 上使用 Skia 库测试无法获得 UI 显示的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 itext7 使用 Java 语言在仅 skia 生成的 pdf 上放置印章(显示倒置印章)