问题标签 [skia]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1071 浏览

android - Android Canvas 硬件加速

在链接上

硬件加速

我发现 Canvas 现在支持硬件加速(大部分)。

我下载了 4.2.2 AOSP(API Level 17) 源代码并检查了 external/skia/src/core/sKCanvas.cpp 中的代码

我到达了 sKCanvas.cpp,因为这最终会通过 Android Canvas 类中的 jni 调用。

但是,比如说drawPosText(),这个函数应该使用硬件加速(open gl)

在代码中。但是当我在 sKCanvas.cpp 中检查这个函数时,我没有看到任何与 open gl 相关的代码。

我是不是误会了什么?这让我很困惑。

谢谢。

}

0 投票
2 回答
2407 浏览

skia - SKIA - measureText() 返回的值不准确

我在使用skia measureText() 函数测量文本时遇到问题。返回的值不准确。

measureText() 返回的宽度是 451。

我通过照片编辑器应用检查了生成的位图文本,实际宽度仅为 438。

关于在 SKIA 中获得准确的文本宽度有什么想法吗?

谢谢!

0 投票
0 回答
1519 浏览

c++ - Skia 字体样式

我正在使用 Skia 在 BlackBerry 10 平台上绘制文本。我无法将 Condensed 或 Light 样式应用于字体。

在 Skia 中,它只有kNormalkBoldkItalickBoldItalic样式的枚举类型。

这些风格效果很好

但我需要使用同样内置在 BB10 设备中的 Slate Pro 字体的CondensedLight样式。

我尝试了所有这些组合,它导致了SIGSEGV

太好了,我尝试了另一种方法,尝试直接加载系统字体。但是,即使 Font 文件存在,loadedTypeface 始终为 NULL,不知道为什么。

关于如何使用字体的CondensedLight样式有什么想法吗?谢谢

备注BB10文件系统内嵌 的 Slate Pro ttf 文件列表

位于 /usr/fonts/font_repository/monotype/

0 投票
3 回答
10332 浏览

google-chrome - chrome用什么图形库

我知道openGL/directX可用于渲染图形的图形库。图形处理单元的硬件供应商支持这些库。
我想知道chrome渲染它的东西有什么用。

所以我开始googling了,结果是:

chrome用于webKit渲染 html 页面。

googling对于webkitreveals >>webkit只是一个前端。

webkit只是一个前端。这取决于后端和硬件支持。谷歌浏览器skia用作后端,可以使用软件或硬件。所以答案是它取决于后端的植入和运行它的硬件。正如WebKit 是否使用 OpenGL 来呈现 CSS 转换?

谷歌搜索skia揭示
滑雪屏幕截图

Device backends for Skia currently include:这是什么意思?
是否skia也是一个前端/接口,而其他人可能使用openGL来实现它?或者
skia也是一个相当于openGL和directX的库?


或者一个直截了当的问题是
chrome 使用什么库(与 openGL/directX 相当)在我的计算机中渲染内容?

我在没有特殊 GPU 的戴尔笔记本电脑上使用窗口 7。

0 投票
1 回答
972 浏览

android - BitmapRegionDecode.decodeRegion,尝试从位图创建图块时出现skia错误

嗨,我收到一个错误skia:--- 当我尝试使用 BitmapRegionDeocde.decodeRegion 解码第二个区域时,decoder->decodeRegion 返回 false。我设法获得第一个区域位图,但如果第二个区域为空。

如何在不出现此错误的情况下获取所有区域的位图?

这是我的代码示例:

0 投票
0 回答
474 浏览

android - 如何加快 Android 上的文本测量?

我正在编写一个具有自定义文本布局引擎的应用程序,为此我必须使用 Paint 类上的 .getTextBounds() 方法测量大量(数千个)字符串。

它确实有效。但在某些设备上,这种测量非常缓慢。

例如,测量 10,000 个 5-6 字符长的单词

  • 三星 Galaxy S2 手机(或三星 Galaxy 系列的任何其他类型的设备):1.5 秒
  • HTC Desire HD:约 90 秒。
  • 华硕变压器 TF300:~30 秒
  • 等等。

我已经完成了方法分析,我可以看到,在某些设备上,测量方法的本机 Skia 实现需要更长的时间。

在测量过程中我没有做任何花哨的事情,我的代码看起来像这样:

测量文本尺寸时有什么需要注意的吗?制造商是否搞砸了与 ROM 中的字体缓存实现相关的内容?对此我能做些什么吗?

0 投票
1 回答
269 浏览

java - skia项目运行在Android.4.2,Android 4.2和Android 2.2有区别吗?

我尝试在 Andorid 上显示 YUV 视频 在 Android 2.2 版本中,可以,但是在 Android 4.2 中屏幕是全黑的

在项目中,我使用JAVA显示图像的内容,使用jni读取YUV并将YUV数据返回给JAVA

以下是我的 jni 代码 #include "SkiaDemoJni.h" #include "mylog.h"

0 投票
0 回答
393 浏览

c++ - SkCanvas::drawText 中的内存泄漏

我正在使用 Skia 进行渲染。我在 Mac OS X 上的以下代码中出现内存泄漏。Xcode Instrument 在此处显示内存泄漏。

在 Windows 上,它没有显示任何内存泄漏,但在 Mac OS X 上。

我想知道为什么它会导致内存泄漏。是否有其他原因导致此内存泄漏。

0 投票
1 回答
578 浏览

android - Android:GraphicBuffer 数据格式

据我所知,Android 中有 2 个图形引擎:OpenGL ES 和 Skia。两者都提供了一套绘图API,并将图形数据输出到底层的GraphicBuffer。我的问题是 GraphicBuffer 的数据格式是什么?是标准吗?

0 投票
1 回答
3567 浏览

c++ - 如何使用 Skia SkBitmap 在 EGL 纹理上绘制文本?

我正在寻找一种使用 C/C++ 中的 Skia 库在 EGLTexture 上绘制文本的方法。我计划在启动期间在 SurfaceFlinger 出现之前在 Android 平台上运行一个程序。

请不要将我指向 Android Java 示例,因为这不是我想要的。我正在对帧缓冲区级别的 UI 问题进行故障排除。我正在寻找一种使用 Android 本机库(Skia 等)在 C/C++ 中执行此操作的方法。

我有一个示例程序,可以使用 SkBitmap 将图像渲染到 EGLTexture 上。我能够在监视器上显示它。我遵循相同的示例并提出了这样的策略。但它不起作用。

0) 用绿色清除屏幕
1) 创建大小为 640x480 的 SkBitmap。
2) 创建由 SkBitmap.lockPixels() 返回的像素缓冲区支持的 EGLTexture
3) 使用 SkCanvas 在 SkBitmap 上绘制文本。将位图上传到上面的纹理中。4)然后在当前表面上绘制纹理

我使用启动动画程序(android)作为我的起点。当我运行这个程序时,我看到的只是绿色。我检查了 EGL 调用的错误。他们似乎都成功了。谢谢你的帮助

在谷歌群组上发布了这个问题。来自谷歌的布赖恩在这里有一些建议: https ://groups.google.com/d/topic/skia-discuss/aC5f6HB4gSU/discussion

下面是实现上述内容的代码。