autojs之十二圆

2024-01-14 13:48
文章标签 autojs 十二

本文主要是介绍autojs之十二圆,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用情景

 

给孩子画个圆

 

效果展示

 

canvas慢慢画圆

 

 

autojs版本号

 

原理

 

  1. canvas绘制bitmap

  2. 我们在bitmap上 画圆

  3. 画12个圆, 画一个, 画布旋转30度

 

知识点

 

  1. 测量画布宽高的时机

  2. 画笔的参数设置

  3. 生成bitmap

 

  1. 生成canvas

  2. 监听画布的ondraw事件

  3. 设置画布的背景

 

  1. canvas画字

  2. 生成rectf

  3. 生成随机颜色

 

  1. canvas画圆弧

  2. 画布的旋转

 

代码讲解

 

1. 导入类

importClass(android.graphics.RectF);
importClass(android.graphics.Paint);
importClass(android.graphics.Bitmap);

 

2. 布局

ui.layout(<vertical><canvas id="board" w="*" h="*"></canvas></vertical>
);

 

3. 等界面加载完毕, 再开始画圆

setTimeout(draw, 100);

 

4.  初始化参数

mPaint = new Paint();
mPaint.setStrokeWidth(10);
var color = "#00ff00";
color = colors.parseColor(color);
mPaint.setColor(color);
mPaint.setStrokeWidth(10); // 设置圆环的宽度
mPaint.setAntiAlias(true); // 消除锯齿
mPaint.setStyle(Paint.Style.STROKE); // 设置空心
let radius = 200;
let mProgress = 0;
let isDrawCircle = true;
let mSpeed = 2;
var bitmap;

 

5. 启用draw方法

function draw() {let viewWidth = board.getWidth();let viewHeight = board.getHeight();bitmap = Bitmap.createBitmap(viewWidth, viewHeight, Bitmap.Config.ARGB_8888);var mCanvas = new Canvas(bitmap);ui.board.on("draw", function (canvas) {canvas.drawBitmap(bitmap, 0, 0, mPaint);});threads.start(function () {画十二个圆形(mCanvas);});
}

 

6. 设置背景

canvas.drawARGB(255, 123, 104, 238);

 

7. 画12个圆

for (var i = 0; i < 12; i++) {let oval = new RectF(center - radius, center - radius, center + radius, center + radius); // 用于定义的圆弧的形状和大小的界限while (1) {if (mProgress > 360) {mProgress = 0;let color = getRandomColor();if (启用随机颜色) {mPaint.setColor(color);}break;} else {canvas.drawArc(oval, 90, mProgress, false, mPaint); // 根据进度画圆弧sleep(mSpeed); //通过传递过来的速度参数来决定线程休眠的时间从而达到绘制速度的快慢}mProgress += 1;}canvas.rotate(30, center, center + radius);
}

 

点击查看源码

 

 

微信公众号 AutoJsPro教程

 

QQ群

 

747748653

 

 

这篇关于autojs之十二圆的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/605365

相关文章

RISC-V (十二)系统调用

系统模式:用户态和内核态         当前的代码都是实现在machine模式下。 系统模式的切换         epc寄存器的值存放的是ecall指本身的地址 。 用ecall指令 系统调用的执行流程         mret这条指令会利用status的mpp值恢复到之前的特权级别。  蓝色的线表示涉及到权限切换。  系统调用的传参

Kafka【十二】消费者拉取主题分区的分配策略

【1】消费者组、leader和follower 消费者想要拉取主题分区的数据,首先必须要加入到一个组中。 但是一个组中有多个消费者的话,那么每一个消费者该如何消费呢,是不是像图中一样的消费策略呢?如果是的话,那假设消费者组中只有2个消费者或有4个消费者,和分区的数量不匹配,怎么办? 所以这里,我们需要学习Kafka中基本的消费者组中的消费者和分区之间的分配规则: 同一个消费者组的消费者都订

鸿蒙轻内核M核源码分析系列十二 事件Event

往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 轻内核M核源码分析系列一 数据结构-双向循环链表 轻内核M核源码分析系列二 数据结构-任务就绪队列 鸿蒙轻内核M核源码分析系列三 数据结构-任务排序链表 轻内核M核源码分析系列四 中断Hwi 轻内核M核源码分析系列五 时间管理 轻内核M核源码分析系列六 任务及任务调度(1)任务栈 轻内核M核源码分析系列六 任务及任务调度

Flink实例(六十七):自定义时间和窗口的操作符(十二)Flink事件时间何时触发窗口计算

思考:     什么时候才会触发窗口计算?     既然使用的是事件时间那么必然会涉及到水位线(water_mark),水位线在其中扮演的角色是什么?     此时我们带着疑问,一步一步的探究 注意:本篇博客中的所有解释都是在滚动窗口的前提下 Q:为什么要在滚动窗口的前提下进行解释? A:因为滚动窗口相比较滑动和会话来说更容易让大家理解,在本篇博客中着重的是讨论水位线在窗口触发下的场景,

Spark学习之路 (十二)SparkCore的调优之资源调优

《2021年最新版大数据面试题全面开启更新》 欢迎关注github《大数据成神之路》 目录 一、概述 二、Spark作业基本运行原理 三、资源参数调优 3.1 num-executors 3.2 executor-memory 3.3 executor-cores 3.4 driver-memory 3.5 spark.default.parallelism 3.6 spark.storag

【硬刚Java并发】JUC基础(十二):ForkJoinPool 分支/合并框架

本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的Java并发部分补充。 1  Fork/Join 框架 Fork/Join 框架:就是在必要的情况下,将一个大任务,进行拆分(fork)成若干个小任务(拆到不可再拆时),再将一个个的小任务运算的结果进行 join 汇总。 2 Fork/Join 框架与线程池的区别 采用 “工作窃取”模式(work-st

【硬刚ES】ES基础(十二)多字段特性及Mapping中配置自定义Analyzer

本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的ES部分补充。

【重学 MySQL】十二、SQL 语言的规则与规范

【重学 MySQL】十二、SQL 语言的规则与规范 基本规则注释语法规则命名规则基本命名规则具体命名规范其他注意事项 数据导入指令 SQL(Structured Query Language,结构化查询语言)的规则与规范是确保SQL语句能够正确执行、提高代码可读性和可维护性的基础。 基本规则 语句结构: SQL语句可以写在一行或多行中,为了提高可读性,建议将各子句分行

十二、部署自已的企业大模型

基于LangChain+ChatGLM3-13B+minio+Paraformer,其中langchain实现本地知识库微调,chatGlm作为大模型基座,minio作为语音存储库,paraformer作为本地文本与语音识别库。 一、Langchain搭建 使用conda创建一个虚拟环境,基于 Python3.10,并在虚拟环境内安装项目的依赖 conda env list conda

猫猫学IOS(十二)UI之UITableView学习(上)LOL英雄联盟练习

猫猫分享,必须精品 素材代码地址:http://blog.csdn.net/u013357243/article/details/44706671 原文地址:http://blog.csdn.net/u013357243?viewmode=contents 先看效果图 源代码 NYViewController的代码 //ps:新建iOS交流学习群:304570962 可以