首页 > 其他分享 >鸿蒙UI系统组件15——画布(Canvas)

鸿蒙UI系统组件15——画布(Canvas)

时间:2024-08-06 09:54:35浏览次数:20  
标签:Canvas 15 100% CanvasRenderingContext2D 50 UI context 绘制

如果你也对鸿蒙开发感兴趣,加入“Harmony自习室”吧!扫描下方名片,关注公众号,公众号更新更快,同时也有更多学习资料和技术讨论群。

⭐️ 概  述          

前一章我们学习了Shape绘制来绘制自定义形状,在实际的业务开发中,有可能我们需要绘制更复杂的图形,例如统计图中的饼图、折线图等,除了绘制图形外,可能还会绘制一些复杂的组件效果,此时,我们就需要用到画布(Canvas)组件来满足我们的需求了。

画布(Canvas)组件主要用于自定义绘制图形,开发者使用CanvasRenderingContext2D对象和OffscreenCanvasRenderingContext2D对象在Canvas组件上进行绘制,绘制对象可以是基础形状、文本、图片等。

画布Canvas是一个非常复杂的课题,我们这里只针对其用法做探讨。

1 使用画布组件绘制自定义图形

总共有两种种形式可以绘制自定义图形,下面分别做介绍:

标签:Canvas,15,100%,CanvasRenderingContext2D,50,UI,context,绘制
From: https://blog.csdn.net/harmonyClassRoom/article/details/140938976

相关文章

  • 1、.Net UI框架:Xamarin Forms - .Net宣传系列文章
    Xamarin.Forms是一个跨平台移动应用开发框架,它允许开发者使用C#和.NET进行一次编码,然后在iOS、Android、macOS和Windows等多个平台上运行。Xamarin.Forms是Xamarin的一部分,而Xamarin是微软的.NET跨平台开发工具集,它提供了一套API,可以在不同的设备上创建本地UI。Xama......
  • UITableView的原理——探究及重新实现代码
    转自简书,原文地址,本文主要探讨一些特殊细节,像视图重用这类最基本的原理可在源码里查看。先前重新实现了一个list容器视图,由于Apple没有开源,在此分享过程中探索到的UITableView一些细节。MPTableView:AlistviewlikeUITableView,morefast,morefeatures.1·捉摸不定的con......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-64 - Canvas和SVG元素推拽
    1.简介今天宏哥分享的在实际测试工作中很少遇到,比较生僻,如果突然遇到我们可能会脑大、懵逼,一时之间不知道怎么办?所以宏哥这里提供一种思路供大家学习和参考。2.SVG简介svg也是html5新增的一个标签,它跟canvas很相似。都可以实现绘图、动画。但是svg绘制出来的都是矢量图,不像canv......
  • L1-048 矩阵A乘以B 分数 15
    //10'42"#include<iostream>usingnamespacestd;constintN=110;intarr[N][N];intbrr[N][N];intcrr[N][N];intmain(){intx1,y1;cin>>x1>>y1;for(inti=1;i<=x1;++i)for(intj=1;j......
  • [COCI2015-2016#3] NEKAMELEONI 题解
    前言题目链接:LOJ;洛谷。题意简述在二叉树上,不断删除叶子,你要维护其树链剖分后重儿子编号和。如果两个孩子大小相同,在一开始连向左儿子,或者保持修改前的连接。\(n\leq2\times10^5\)。题目分析有分块的、有二分的,那我来讲一讲我的想法——树剖维护树剖。首先反转操作,不断......
  • P2150 [NOI2015] 寿司晚宴
    思路:注意到对于每个数,其\(>19\)的质因数最多只有\(1\)个,称为大质数;对于\(\le19\)的质因数有\(8\)个,称为小质数。设第\(i\)个数的小质数集合为\(h_i\)。那么考虑对于所有数按照大质数从小到大排序,那么对于大质数相同的一段,只能放在两个集合中的一个。考虑状态压缩......
  • python 发送buffer类型数据, 发送octet-stream类型数据, 发送Uint8Array类型数据
       #-*-coding:utf-8-*-#@Time:2024/7/3120:20#@Author:Dragonjs_code=r"""commonjsGlobal={};varprotobuf_min={exports:{}};(function(module){!function(g){varr2,e2,i2;r2={1......
  • LeetCode面试150——13罗马数字转整数
    题目难度:简单默认优化目标:最小化平均时间复杂度。Python默认为Python3。目录1题目描述2题目解析3算法原理及代码实现3.1模拟法参考文献1题目描述罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符    数值I      1V    ......
  • 【Python】Python中的输入与输出——内附Leetcode【151.反转字符串中的单词】的C语言
    输入与输出导读一、Python中的输出1.1基本用法1.2格式化输出1.3通过`:`格式化值的输出1.4其它格式化输出二、Python中的输入2.1基本用法2.2`split()`方法2.3split()习题演练结语导读大家好,很高兴又和大家见面啦!!!在上一篇内容中我们介绍了Python中的数据类......
  • AI绘画进阶:ComfyUI放大技巧让你接单无忧,AI摄影写真必备
    你知道吗,现在用AI拍照和接写真单子可是个赚钱的好法子。大家都在找那种看起来超真实、艺术感十足的图片。所以,学会一些AI绘画的小技巧,尤其是用ComfyUI这种工具来放大画面的方法,简直是打开了一扇通往财富的大门。今天,我就来跟你聊聊几种超好用的ComfyUI放大技巧,保证让你的作......