XComponent、NativeDrawing实现2D图形绘制
XComponent、NativeDrawing实现2D图形绘制
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
XComponent、openGL实现3D图形绘制
1708浏览 • 1回复 待解决
使用Drawing进行2d图像绘制
949浏览 • 1回复 待解决
ArkGraphics 2D有什么优势?
412浏览 • 1回复 待解决
ArkGraphics 2D都有哪些使用场景?
651浏览 • 1回复 待解决
使用Native、XComponent和EGL绘制图形
991浏览 • 1回复 待解决
使用Drawing实现图形绘制与显示
914浏览 • 1回复 待解决
1230的2d版本出现本地依赖的har包报错问题
1708浏览 • 1回复 待解决
HarmonyOS 关于使用OffscreenCanvasRenderingContext2D绘制问题
72浏览 • 1回复 待解决
HarmonyOS CanvasRenderingContext2D绘制刮刮卡特效的问题
530浏览 • 1回复 待解决
HarmonyOS Canvas CanvasRenderingContext2D如何触发刷新重复绘制?
36浏览 • 1回复 待解决
HarmonyOS OffscreenCanvasRenderingContext2D的这个绘制方法不会自动换行吗?
73浏览 • 1回复 待解决
HarmonyOS CanvasRenderingContext2D中drawImage绘制图片无法展示
8浏览 • 1回复 待解决
CanvasRenderingContext2D字体绘制时,在HarmonyOS 系统上有没有Baseline?
11浏览 • 1回复 待解决
Native XComponent、Drawing、手势实现上下滑动文本和图形拖移
1005浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用CanvasRenderingContext2D对象绘制自定义矩形?
149浏览 • 1回复 待解决
HarmonyOS Canvas 2D的坐标是否可以支持px,之前的api默认有的是vp,有的是px
16浏览 • 1回复 待解决
HarmonyOS 使用CanvasRenderingContext2D绘制的时候,如何给阴影设置透明度?
321浏览 • 1回复 待解决
HarmonyOS 如何基于Canvas来实现Path2D的动画
22浏览 • 1回复 待解决
HarmonyOS 是否有类似xfermode相关的图形绘制api
18浏览 • 1回复 待解决
HarmonyOS CanvasRenderingContext2D使用问题
20浏览 • 1回复 待解决
HarmonyOS hw编码,gl 绘制 texture2D 到编码器,为什么会报这个错?
175浏览 • 1回复 待解决
HarmonyOS 绘制图形,radius无法使用数组定义4个圆角
270浏览 • 1回复 待解决
HarmonyOS Matrix2D的用法问题
15浏览 • 1回复 待解决
Native Drawing模块提供了一系列的接口用于基本图形和字体的绘制,今天我们主要直线绘图功能
Drawing绘制的内容无法直接在屏幕上显示,需要借用XComponent以及Native Window的能力支持,将绘制的内容通过Native Window送显。
开发流程:
1. 在界面中定义Xcomponent
2. 模块注册,注册接口函数,从而将封装的C++方法传递出来,供JS侧调用
3. 注册Component事件回调,使用NAPI实现XComponent事件回调函数
4. 初始化环境
5. 渲染功能实现
6. 注册与编译,使用CMake工具链将C++源代码编译成动态链接库文件
使用的核心API
Xcomponent
NativeBuffer
NativeDarwing
NativeWindow
核心代码解释
1.在界面中定义Xcomponent,
l id : 与XComponent组件为一一对应关系,不可重复。通常开发者可以在native侧通过OH_NativeXComponent_GetXComponentId接口来获取对应的id从而绑定对应的XComponent;
n libraryname:加载模块的名称,必须与在native侧Napi模块注册时nm_modname的名字一致。
2.使用NAPI获取XComponent实例指针,注册XComponent回调函数
1、实例NativeWindow、NativeBuffer,创建环境
2、绘制2d图形
3、绘制内容送显
实现效果
注明适配的版本信息
DevEco Studio Version: 4.0.1.601
SDK:HarmoneyOS 4.0.10.11