问题标签 [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.
c++ - 奇怪的链接器错误
我正在使用cl
编译器并LINK
链接代码。在以下示例代码中,我得到了非常奇怪的链接器。
当我用 test.cpp 编译 main.cpp 时,它给了我Test3
未定义的链接器错误,实际上不应该链接。当我从我的 makefile 中删除 test.cpp 时,它会毫无问题地编译和链接。
我正在使用skia图书馆。这个问题是否可能是由于skia库和某些链接选项不匹配造成的?
下面列出了我的编译器链接器选项:
编译器选项:
/c /W4 /nologo /WL /Gr /GF /GA /Gy /GR- /vmb /EHsc /D_UNICODE /DUNICODE /D_CRT_SECURE_NO_WARNINGS /D_CRT_NON_CONFORMING_SWPRINTFS /DWIN32 /D_WIN32 /MT /Z7 /O2 /GS- /Oi
链接器选项:
LINK skia_core.lib skia_utils.lib skia_effects.lib skia_images.lib skia_opts.lib skia_opts_ssse3.lib skia_ports.lib skia_sfnt.lib skia_skgpu.lib /INCREMENTAL:NO /NOLOGO /OPT:REF /IGNORE:4098 /IGNORE:4089 /SUBSYSTEM:WINDOWS /FIXED:NO /NODEFAULTLIB:advapi32.lib /NODEFAULTLIB:user32.lib /NODEFAULTLIB:gdi32.lib /NODEFAULTLIB:shell32.lib /NODEFAULTLIB:comdlg32.lib /NODEFAULTLIB:version.lib /NODEFAULTLIB:mpr.lib /NODEFAULTLIB:rasapi32.lib /DEFAULTLIB:winmm.lib /NODEFAULTLIB:winspool.lib /NODEFAULTLIB:vfw32.lib /NODEFAULTLIB:secur32.lib /NODEFAULTLIB:oleacc.lib /NODEFAULTLIB:oledlg.lib /NODEFAULTLIB:sensapi.lib /NODEFAULTLIB:kernel32.lib /NODEFAULTLIB:wininet.lib /NODEFAULTLIB:wsock32.lib /NODEFAULTLIB:odbc32.lib /NODEFAULTLIB:odbccp32.lib /NODEFAULTLIB:htmlhelp.lib /NODEFAULTLIB:comctl32.lib /NODEFAULTLIB:libc.lib unicows.lib kernel32.lib user32.lib winspool.lib gdi32.lib Rpcrt4.lib netapi32.lib wininet.lib wsock32.lib odbc32.lib odbccp32.lib htmlhelp.lib comctl32.lib advapi32.lib shell32.lib comdlg32.lib version.lib mpr.lib rasapi32.lib winmm.lib vfw32.lib secur32.lib oleacc.lib oledlg.lib DbgHelp.lib shlwapi.lib mstask.lib taskschd.lib psapi.lib crypt32.lib /VERSION:1.0 skia_core.lib skia_utils.lib skia_effects.lib skia_images.lib skia_opts.lib skia_opts_ssse3.lib skia_ports.lib skia_sfnt.lib skia_skgpu.lib /MAP /DEBUG /OPT:REF /NODEFAULTLIB:LIBCMTD.LIB psapi.lib crypt32.lib usp10.lib Opengl32.lib Gdiplus.lib /RELEASE /OUT:test.exe
链接器错误消息:
LNK2019: unresolved external symbol "void __fastcall Test3(void)" (?Test3@@YIXXZ) referenced in function "void __fastcall Test2(void)" (?Test2@@YIXXZ)
android - Android、Skia 和硬件加速图形
此页面http://source.android.com/devices/graphics.html说:
在 Android 3.0 之前,Canvas 使用Skia 2D 绘图库进行绘制,无法利用硬件加速。在 Android 3.0 中引入的 Canvas API 硬件加速使用一个名为OpenGLRenderer的新绘图库,它将Canvas 操作转换为 OpenGL 操作,以便它们可以在 GPU 上执行。
但是,Skia 页面http://code.google.com/p/skia/说 Skia 可以后端到 OpenGL。
此外,此 Skia 常见问题解答https://sites.google.com/site/skiadocs/user-documentation/faq说:“已编写 SkGLCanvas 以将其绘图调用定向到 OpenGL。”
所以我想知道,Android 不简单地使用 Skia 支持 OpenGL 来获取硬件加速图形是否有特殊原因?(也许 OpenGL 和 OpenGL ES 有区别?)
opengl-es - 为什么在android上上传纹理这么慢?
我有一段代码,我在其中将长度约为 20 个字符的字符串绘制到大小为 1000x100 像素的 Skia 位图中。然后将其加载到纹理中并在屏幕上绘制。
我发现仅将 SkBitmap 数据(由 SkBitmap.getPixels() 返回的缓冲区)上传到纹理中大约需要 29-30 毫秒。
此代码已在另一篇文章中上传
我画了 30 帧并取了平均 timeDiffs。大约需要 30 毫秒。
我创建了另一个根本不使用 OpenGL 的程序,只是使用 Skia 渲染文本并直接在帧缓冲区上显示。这样做需要 1 毫秒。
这没有意义。我正在使用 Android 4.0.3 的 android box(带 GPU)上运行此代码。ARM 和 GPU 共享相同的 RAM。
如何使这更快?
linux - 关于skia图书馆的指导
我正在尝试使用 Linux 构建 SKIA 库:
我已经成功运行,./gyp_skia
然后是make
命令。
你经常make install
追赶make
。但是,SKIA 库似乎没有make install
选项。我想知道如何执行安装?
android - Android中的位图快速操作
这就是我正在做的...
- 从 YUV_ 字节数组中的相机源转换图像
- 以角度旋转图像(角度是动态的。它的值将是 1-180)
- 缩放图像
- 将图像保存到 SD 卡
以上所有事情进展顺利。但以上整个过程每个摄像头馈送大约需要 400 毫秒。
他们有什么方法可以减少时间。我构建skia-2d 库是因为android 在他的图像框架中使用它。但无法使用它。它需要一些 android 库支持,例如 GraphicsJNI 和 CreateJavaOutputStreamAdaptor 等,并且这些都在每个 android 操作系统版本中都发生了变化。
有没有人有想法/方法来优化位图?....
c++ - 在Qt窗口中嵌入skia控件
我有一个使用skia编写的复杂自定义控件。是否可以将此控件嵌入到 Qt 应用程序中?如何与窗口事件集成?有没有一个例子说明如何做到这一点?
谢谢。
bitmap - Xamarin 安卓。将字节数组转换为位图。Skia 解码器返回 false
尝试将存储在 SQLite 数据库中的一些图像作为 blob 转换为位图时,出现以下错误。
我正在尝试以下代码:
结果:一些图像被成功转换,但其他图像得到skia decode返回false。总是显示相同的图像,而其他相同的图像会出现错误。
在 iOS 应用程序上使用相同的数据库,并且所有图像都正确显示。图片是jpeg。
我发现在这里解决了类似的问题,但我无法将其翻译成 C#。
有谁知道从字节数组加载位图而没有这些问题的解决方法?
c++ - 使用 SkBounder 进行 Skia 命中测试
在SampleAppDebugHitTestBounder
中使用;我已经在我的画布中进行了子类化和安装(在每次绘图中创建),以便找到在鼠标单击下绘制的内容,但绘图例程从不调用该方法。该方法按预期调用(但我不需要它,我需要一个带有显示空间转换矩形参数的方法)。我调试了代码,发现绘制循环在canvas.cpp中使用宏(LOOPER_BEGIN和LOOPER_END)在一个地方进行管理,并且在调用 bounder 的 onIRect 的绘图调用中找不到任何位置。我做错了什么吗?SkBounder
onIRect
commit
注意:我在 Mac OS 10.8.x 中使用来自 2 个月大的 git repo 主分支和 XCode 4.6 的代码。项目文件是通过 gyp 创建的。
xcode - skia 缺少 xcode 项目文件
我从 git 存储库下载了 Skia 项目。我搜索了 . xcodeproj
文件但找不到它们...我将如何在 Xcode 中使用该项目?我正在使用带有 xcode 4.6 的 mac os x 10.8。
skia - 获得 getAdvancedTypefaceMetrics 的替代方法
由于 SkTypefce 的 getAdvancedTypefaceMetrics 现在是私有的,在我的旧代码中,它以以下格式使用。
SKia 中是否为此 API 提供了任何替代方案。