华为仓颉鸿蒙HarmonyOS NEXT仓颉绘制组件Circle 、Line
·
一、组件定位与适用场景
Circle(圆形)和 Line(直线)是鸿蒙 ArkUI 声明式开发范式中的基础绘制组件,主要用于图形化界面开发,适用于数据可视化、自定义图表绘制、动态图形渲染等场景。
- Circle:可定义圆形半径、填充颜色、边框样式等属性,支持动态调整尺寸和位置。
- Line:用于绘制直线,支持设置起点/终点坐标、线条颜色、虚线模式等特性。
二、核心属性与代码示例
以下为 ArkTS 中 Circle 和 Line 的典型用法:
// 绘制一个红色填充、蓝色边框的圆形
Circle()
.width(100).height(100) // 定义画布尺寸
.fill(Color.Red) // 填充颜色
.stroke(Color.Blue) // 边框颜色
.strokeWidth(2) // 边框宽度
// 绘制一条虚线样式的斜线
Line()
.width(200).height(200)
.startPoint({ x: 0, y: 0 }) // 起点坐标
.endPoint({ x: 200, y: 200 })// 终点坐标
.stroke(Color.Black)
.strokeDashArray([5, 5]) // 虚线模式(实线5vp,间隔5vp)
三、关键属性说明
| 组件 | 核心属性 | 作用 |
|---|---|---|
| Circle | fill, fillOpacity | 填充颜色及透明度 |
stroke, strokeWidth | 边框颜色及宽度 | |
antiAlias | 抗锯齿(默认开启) | |
| Line | startPoint, endPoint | 直线起点/终点坐标(相对画布) |
strokeDashOffset | 虚线偏移量 | |
strokeLineCap | 端点样式(圆头、方头等) |
四、开发注意事项
- 性能优化:高频动态绘制时建议使用
Canvas组件替代单一图形组件,避免频繁 UI 更新。 - 坐标系统:默认以组件左上角为原点
(0,0),坐标单位为 VP(虚拟像素)。 - 交互扩展:可通过
Gesture事件(如点击、拖拽)实现动态图形交互。
五、仓颉语言与 ArkTS 的明确分工
- 仓颉语言:专注系统底层开发(如驱动、硬件资源管理),不直接支持 UI 组件。
- ArkTS:应用层开发首选,提供完整的声明式 UI 框架(如 Circle、Line 等组件)。
若需高性能图形计算(如 AI 渲染),可通过仓颉编写底层算法模块,再通过 NAPI 与 ArkTS 交互。
昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链
更多推荐

所有评论(0)