XComponent、NativeDrawing实现2D图形绘制
XComponent、NativeDrawing实现2D图形绘制
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
XComponent、openGL实现3D图形绘制
1635浏览 • 1回复 待解决
使用Drawing进行2d图像绘制
906浏览 • 1回复 待解决
ArkGraphics 2D有什么优势?
375浏览 • 1回复 待解决
ArkGraphics 2D都有哪些使用场景?
587浏览 • 1回复 待解决
使用Native、XComponent和EGL绘制图形
975浏览 • 1回复 待解决
使用Drawing实现图形绘制与显示
880浏览 • 1回复 待解决
1230的2d版本出现本地依赖的har包报错问题
1619浏览 • 1回复 待解决
HarmonyOS CanvasRenderingContext2D绘制刮刮卡特效的问题
502浏览 • 1回复 待解决
Native XComponent、Drawing、手势实现上下滑动文本和图形拖移
975浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用CanvasRenderingContext2D对象绘制自定义矩形?
71浏览 • 1回复 待解决
HarmonyOS 使用CanvasRenderingContext2D绘制的时候,如何给阴影设置透明度?
287浏览 • 1回复 待解决
HarmonyOS hw编码,gl 绘制 texture2D 到编码器,为什么会报这个错?
152浏览 • 1回复 待解决
HarmonyOS 绘制图形,radius无法使用数组定义4个圆角
238浏览 • 1回复 待解决
HarmonyOS Path2D的addPath方法报错
243浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙中如何通过XComponent绘制复杂UI?
68浏览 • 1回复 待解决
HarmonyOS CanvasRenderingContext2D 支持在 TaskPool中使用吗?
115浏览 • 1回复 待解决
鸿蒙绘制图形Path折线绘制Polyline设置折线拐角处为圆弧达不到效果,能不能增加圆角属性
1760浏览 • 1回复 待解决
HarmonyOS 如何使用Resource对象给OffscreenCanvasRenderingContext2D设置颜色
330浏览 • 1回复 待解决
EGL绘制是否支持多线程?如何在多线程的场景下同时操作一块buffer进行图形绘制
1986浏览 • 1回复 待解决
HarmonyOS CanvasRenderingContext2D使用不了自定义字体
268浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过视口viewport对鸿蒙绘制图形进行放大与缩小?
64浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中利用Native XComponent创建自定义绘制内容?
61浏览 • 1回复 待解决
鸿蒙如何实现位图绘制
9940浏览 • 1回复 待解决
如何使用canvas绘制图形?环境是API6,java编写自定义组件
2432浏览 • 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