介绍
基于OpenHarmony的Cavas组件封装了一版极简操作的MiniCanvas,屏蔽了原有Canvas内部复杂的调用流程,支持一个API就可以实现相应的绘制能力,该库还在继续完善中,也欢迎PR。
使用说明
- 添加MiniCanvas依赖
在项目entry目录执行如下命令安装MiniCanvas库:npm install git+https://gitee.com/ark-ui/MiniCanvas.git - 引入MiniCanvas
import { MiniCanvas, Paint, ICanvas } from '@ohos/mini_canvas' - 使用MiniCanvas
@Entry @Component struct TestMiniCanvas { build() { Column() { MiniCanvas({ onDraw: (canvas) = > { } }) } .size({width: "100%", height: "100%"}) } } - MiniCanvas绘制
更多鸿蒙学习知识,可+mau123789,记住是v喔// import { MiniCanvas, Paint, ICanvas } from '@ohos/mini_canvas' // 源码方式引入 import { MiniCanvas, Paint } from "./mini_canvas" @Entry @Component struct TestMiniCanvas { build() { Column() { MiniCanvas({ // 在onDraw()方法内执行绘制 onDraw: (canvas) = > { // 创建画笔 let paint = new Paint() // 绘制直线 paint.setColor("#FF0000"); paint.setStrokeWidth(5); canvas.drawLine(10, 10, 280, 10, paint); // 绘制圆以及圆环 canvas.drawCircle(50, 50, 25, paint); paint.setStroke(true); paint.setStrokeWidth(3); canvas.drawCircle(250, 50, 25, paint); // 绘制椭圆以及椭圆环 paint.setStroke(false); canvas.drawOval(20, 100, 150, 50, paint) paint.setStroke(true); paint.setColor(Color.Pink.toString()) canvas.drawOval(190, 100, 150, 50, paint) // 绘制矩形 paint.setStroke(false) canvas.drawRect(20, 180, 150, 50, paint) paint.setStroke(true) paint.setStrokeWidth(5) canvas.drawRect(190, 180, 150, 50, paint) // 绘制圆角矩形 paint.setStroke(false); canvas.drawRoundRect(20, 250, 150, 50, 10, paint) paint.setStroke(true); canvas.drawRoundRect(190, 250, 150, 50, 10, paint) // 绘制圆弧 canvas.drawArc(80, 330, 40, 0, 135, paint); paint.setStroke(false); canvas.drawArc(250, 330, 40, 0, 135, paint); // 绘制图片 let bitmap = new ImageBitmap("pages/test.jpg") canvas.drawImage(bitmap, 10, 10, 800, 600, 20, 400, 320, 160, paint) }, // 设置画布的属性 attribute: { id: "mini_canvas", width: "100%", height: "100%", background: "#ffffff", clickListener: (event) = > { console.log("onClicked: " + JSON.stringify(event)); }, touchListener: (event) = > { console.log("onTouched: " + JSON.stringify(event)); } }, }) } .size({width: "100%", height: "100%"}) } }
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
组件
+关注
关注
1文章
551浏览量
18927 -
鸿蒙
+关注
关注
60文章
2858浏览量
45355 -
OpenHarmony
+关注
关注
31文章
3926浏览量
20720
发布评论请先 登录
相关推荐
热点推荐
触觉智能Purple Pi OH开发板率先适配OpenHarmony6.0 Release,鸿蒙明星开发板
2025年9月19日,在官网上线开源鸿蒙OpenHarmony6.0Release仅13天,触觉智能宣布旗下PurplePiOH开发板成功完成OpenHarmony6.0Release
触觉智能RK3576开发板OpenHarmony开源鸿蒙系统USB控制传输功能示例
本文介绍OpenHarmony开源鸿蒙系统的USB控制传输功能实现及相关代码示例,基于触觉智能RK3576开发板PurplePiOH2演示。OpenHarmony的USB通信介绍实现
鸿蒙5开发宝藏案例分享---一多开发实例(音乐)
各位开发者小伙伴们好呀!今天咱们来点硬核干货!最近在鸿蒙文档中心挖到一座“金矿”——官方竟然暗藏了100+实战案例,从分布式架构到交互动效优化应有尽有!这些案例不仅藏着华为工程师的私房技巧,还直接
DialogHub上线OpenHarmony开源社区,高效开发鸿蒙应用弹窗
作为鸿蒙应用开发者,在使用ArkUI现有能力进行弹窗开发时,总会遇到一些让人纠结的交互问题:应用内进行消息提示时,既要求消息内容支持图文混排,又要求弹窗本身不能打断用户交互(页面滑动、页面
发表于 04-03 17:30
鸿蒙北向开发OpenHarmony5.0 DevEco Studio开发工具安装与配置
本文介绍OpenHarmony5.0 DevEco Studio开发工具安装与配置,鸿蒙北向开发入门必备!由触觉智能Purple Pi OH鸿蒙
【北京迅为】iTOP-RK3568开发板鸿蒙OpenHarmony系统南向驱动开发实操-HDF驱动配置UART
【北京迅为】iTOP-RK3568开发板鸿蒙OpenHarmony系统南向驱动开发实操-HDF驱动配置UART
【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第2章OpenHarmony v3.2-Beta4版本测试
【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第2章OpenHarmony v3.2-Beta4版本测试
【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第1章 体验OpenHarmony—烧写镜像
【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第1章 体验OpenHarmony—烧写镜像
OpenHarmony源码编译后烧录镜像教程,RK3566鸿蒙开发板演示
本文介绍瑞芯微主板/开发板编译OpenHarmony源码后烧录镜像的教程,触觉智能Purple Pi OH鸿蒙开发板演示。搭载了瑞芯微RK3566四核处理器,树莓派卡片电脑设计,支持开
鸿蒙Flutter实战:14-现有Flutter 项目支持鸿蒙 II
分别安装官方的3.22版本,以及鸿蒙社区的 3.22.0 版本
3.搭建 Flutter鸿蒙开发环境
参考文章《鸿蒙Flutter实战:0
发表于 12-26 14:59
OpenHarmony怎么修改DPI密度值?触觉智能RK3566鸿蒙开发板演示
开源鸿蒙OpenHarmony系统下,修改DPI密度值的方法,触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,Laval
鸿蒙原生开源库ViewPool在OpenHarmony社区正式上线
近日,由伙伴参与共建的鸿蒙原生开源库“ViewPool”在OpenHarmony社区正式上线。这个开发库是基于OpenHarmony技术孵化的成果,充分发挥了平台的技术特性,同时融入了
OpenHarmony默认30秒熄屏太麻烦?触觉智能鸿蒙开发板教你轻松取消
OpenHarmony系统开机后 30 秒会自动息屏,教大家两招轻松取消自动息屏,触觉智能Purple Pi OH鸿蒙开发板演示,已适配全新OpenHarmony5.0 Release

鸿蒙OpenHarmony开发实战:【MiniCanvas】
评论