小程序API能力集成指南——画布API汇总(四)

CanvasContext

canvas 组件的绘图上下文。

方法如下(3):

scale

CanvasContext.scale

CanvasContext.scale(number scaleWidth, number scaleHeight)

功能描述

在调用后,之后创建的路径其横纵坐标会被缩放。多次调用倍数会相乘。

参数

number scaleWidth

横坐标缩放的倍数 (1 = 100%,0.5 = 50%,2 = 200%)

number scaleHeight

纵坐标轴缩放的倍数 (1 = 100%,0.5 = 50%,2 = 200%)

示例代码

const ctx = ty.createCanvasContext('myCanvas');ctx.strokeRect(10, 10, 25, 15);
ctx.scale(2, 2);
ctx.strokeRect(10, 10, 25, 15);
ctx.scale(2, 2);
ctx.strokeRect(10, 10, 25, 15);ctx.draw();

rotate

CanvasContext.rotate

CanvasContext.rotate(number rotate)

功能描述

以原点为中心顺时针旋转当前坐标轴。多次调用旋转的角度会叠加。原点可以用 translate 方法修改。

参数

number rotate

旋转角度,以弧度计 degrees * Math.PI/180;degrees 范围为 0-360

示例代码

const ctx = ty.createCanvasContext('myCanvas');ctx.strokeRect(100, 10, 150, 100);
ctx.rotate((20 * Math.PI) / 180);
ctx.strokeRect(100, 10, 150, 100);
ctx.rotate((20 * Math.PI) / 180);
ctx.strokeRect(100, 10, 150, 100);ctx.draw();

👉 立即开发。

translate

CanvasContext.translate

CanvasContext.translate(number x, number y)

功能描述

对当前坐标系的原点 (0, 0) 进行变换。默认的坐标系原点为页面左上角。

参数

number x

水平坐标平移量

number y

竖直坐标平移量

示例代码

const ctx = ty.createCanvasContext('myCanvas');ctx.strokeRect(10, 10, 150, 100);
ctx.translate(20, 20);
ctx.strokeRect(10, 10, 150, 100);
ctx.translate(20, 20);
ctx.strokeRect(10, 10, 150, 100);ctx.draw();

strokeText

CanvasContext.strokeText

CanvasContext.strokeText(string text, number x, number y, number maxWidth)

功能描述

给定的 (x, y) 位置绘制文本描边的方法

参数

string text

要绘制的文本

number x

文本起始点的 x 轴坐标

number y

文本起始点的 y 轴坐标

number maxWidth

需要绘制的最大宽度,可选

transform

CanvasContext.transform

CanvasContext.transform(number scaleX, number skewX, number skewY, number scaleY, number translateX, number translateY)

功能描述

使用矩阵多次叠加当前变换的方法

参数

number scaleX

水平缩放

number skewX

水平倾斜

number skewY

垂直倾斜

number scaleY

垂直缩放

number translateX

水平移动

number translateY

垂直移动

setTransform

CanvasContext.setTransform

CanvasContext.setTransform(number scaleX, number skewX, number skewY, number scaleY, number translateX, number translateY)

功能描述

使用矩阵重新设置(覆盖)当前变换的方法

参数

number scaleX

水平缩放

number skewX

水平倾斜

number skewY

垂直倾斜

number scaleY

垂直缩放

number translateX

水平移动

number translateY

垂直移动

setFillStyle

CanvasContext.setFillStyle

CanvasContext.setFillStyle(string|CanvasGradient color)

功能描述

设置填充色。

参数

string|CanvasGradient color

填充的颜色,默认颜色为 black。

示例代码

const ctx = ty.createCanvasContext('myCanvas');
ctx.setFillStyle('red');
ctx.fillRect(10, 10, 150, 75);
ctx.draw();

👉 立即开发。

setStrokeStyle

CanvasContext.setStrokeStyle

CanvasContext.setStrokeStyle(string | CanvasGradient.addColorStop() color)

功能描述

设置描边颜色。

参数

string | CanvasGradient.addColorStop() color

描边的颜色,默认颜色为 black。

示例代码

const ctx = ty.createCanvasContext('myCanvas');
ctx.setStrokeStyle('red');
ctx.strokeRect(10, 10, 150, 75);
ctx.draw();

setShadow

CanvasContext.setShadow

CanvasContext.setShadow(number offsetX, number offsetY, number blur, string color)

功能描述

设定阴影样式。

参数

number offsetX

阴影相对于形状在水平方向的偏移,默认值为 0。

number offsetY

阴影相对于形状在竖直方向的偏移,默认值为 0。

number blur

阴影的模糊级别,数值越大越模糊。范围 0- 100。,默认值为 0。

string color

阴影的颜色。默认值为 black。

示例代码

const ctx = ty.createCanvasContext('myCanvas');
ctx.setFillStyle('red');
ctx.setShadow(10, 50, 50, 'blue');
ctx.fillRect(10, 10, 150, 75);
ctx.draw();

setGlobalAlpha

CanvasContext.setGlobalAlpha

CanvasContext.setGlobalAlpha(number alpha)

功能描述

设置全局画笔透明度。

参数

number alpha

透明度。范围 0-1,0 表示完全透明,1 表示完全不透明。

示例代码

const ctx = ty.createCanvasContext('myCanvas');ctx.setFillStyle('red');
ctx.fillRect(10, 10, 150, 100);
ctx.setGlobalAlpha(0.2);
ctx.setFillStyle('blue');
ctx.fillRect(50, 50, 150, 100);
ctx.setFillStyle('yellow');
ctx.fillRect(100, 100, 150, 100);ctx.draw();

👉 立即开发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/725632.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter性能优化

性能分析工具 (1)performance overlay 开启performance overlay后,Flutter APP上将显示一个展示一个浮层,浮层中会实时展示当前的UI线程及Raster线程的运行情况。如果都是蓝色竖条,说明界面运行流畅,否则则…

【CSP考点回顾】前缀和数组

一、一维数组前缀和 前缀和算法是一种用于处理数组的技术,它可以快速计算任何连续子数组的和。适合在多次查询中需要求解多个范围和的情况。使用前缀和算法可以将每次求和的时间复杂度从 O(n) 降低到 O(1)。 前缀和的思想是创建一个新数组 A r r Arr Arr&#xff0…

【目标检测】旋转目标检测COCO格式标注转DOTAv1格式

DOTAv1数据集格式: imagesource:imagesource gsd:gsd x1, y1, x2, y2, x3, y3, x4, y4, category, difficult x1, y1, x2, y2, x3, y3, x4, y4, category, difficult ... imagesource: 图片来源 gsd: 分辨率 x1, y1, x2, y2, x3, y3, x4, y4:四边形的四…

递增三元组(第九届蓝桥杯)

文章目录 题目原题链接思路分析二分做法1二分做法2双指针做法前缀和解法 题目 原题链接 递增三元组 思路分析 由时间复杂度可知需要至少优化到 O ( n l o g n ) O(nlogn) O(nlogn)才行 而纯暴力枚举三个数组的话: O ( n 3 ) O(n^3) O(n3) 可以考虑将b[]作为标志&…

RabbitMQ 交换器

RabbitMQ 交换器 官方例子 http://www.rabbitmq.com/getstarted.html direct 如上图所示,两个队列绑定到了direct交换器上,第一个队列绑定的 binding key 为 orange ,第二个队列有两个绑定,分别是 black 和 green 。 如上图所示…

Java引用类型

目录 什么是引用类型 引用类型的特点 引用类型有哪些 什么是引用类型 引用类型(reference type)是编程语言中用于表示对象或集合的一种数据类型。与基本数据类型不同,引用类型存储的是对实际数据的引用(或指针),而不是数据本身。这意味着,当操作一个引用类型变量时,…

常用算法部分

学习地址 二 算法 10 搜索 10.1 二分查找 11 排序 12 分治 13 回溯 14 动态规划 15 贪心

基础小白快速入门web前端开发技术------>web概述

Web概述 我们在编程的学习中,随着学习的深入,我们会理解到WEB这个东西,那么 web究竟是个啥,到底该咋用? web,是网站的英文意思,又被称作“下一代Web3.0,互联网”,是在We…

学Python如此简单--OS模块

(未完成) 模块方法 OS模块 方法说明chdir(path)修改当前工作目录 os.chdir("c:\")------os.chdir("..") ,一般不会更改curdir获取当前目录 属性 注意返回的是相对路径 (绝对路径os.path.abspath(os.curdir)&#xff0…

vue在线查看pdf文件

1.引入组件 npm install --save vue-pdf2、pdf组件页面模板 <template><div class"scrollBox" ><el-dialog :visible.sync"open" :top"1" width"50%" append-to-body><div slot"title"><el…

混沌工程-经典案例分享

目录 前言 案例 1、强弱依赖不合理 2、预案不生效 3、异常数据不兼容 4、监控体系缺陷 5、系统缺整体架构设计 总结 前言 我们公司从启动混沌工程到现在已经几乎覆盖了线上的所有核心业务&#xff0c;先后进行过2000次演练共挖掘出120个漏洞。这些漏洞有些得了及时修复…

DevEco Studio编译时候自动生成js、js.map文件导致项目无法运行

这算是开发工具的bug吧&#xff0c;估计后期能修复。 解决办法&#xff0c;手动删除.js、.js.map文件即可&#xff1b; 文件太多&#xff0c;删除很麻烦&#xff0c;有个大佬写了个插件&#xff0c;可一键删除&#xff1a;ArkCompilerSupport DevEco Studio 运行项目有时会自动…

二叉树进阶leetcode

606. 根据二叉树创建字符串 要点&#xff1a;前序遍历&#xff0c;当左子树为空时&#xff0c;右结点有数字时要给左边加括号 class Solution { public:string tree2str(TreeNode* root) {string s;//创建一个字符串if(rootnullptr){return s;}sto_string(root->val);//保存…

网络、网络协议模型、UDP编程——计算机网络——day01

今天来到了网络编程&#xff0c;主要讲了网络、网络协议模型以及UDP编程 网络 网络主要是进行&#xff1a;数据传输和数据共享 网络协议模型 OSI协议模型应用层 实际发送的数据表示层 发送的数据是否加密会话层 是否建立会话连接传…

调研图基础模型(Graph Foundation Models)

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 图基础模型&#xff08;Graph Foundation Models&#xff0c;简称 GFMs&#xff09; 是一种经过预训练的图大模型&#xff0c;旨在处理不同领域的图数据和任务。让我们详细探讨一下这个概念。 Github …

详解openGauss客户端工具gsql的高级用法

前言&#xff1a; gsql是openGauss提供在命令行下运行的数据库连接工具&#xff0c;可以通过此工具连接服务器并对其进行操作和维护&#xff0c;除了具备操作数据库的基本功能&#xff0c;gsql还提供了若干高级特性&#xff0c;便于用户使用。 gsql的基本功能 连接数据库&…

https 加密解密过程是什么?

HTTPS 加密通信过程中&#xff0c;主要涉及到以下几个步骤&#xff1a; 握手阶段(handshake phase)&#xff1a; 客户端向服务器端发送一个加密通信请求&#xff0c;并提供自己的加密能力列表&#xff0c;以及一个随机生成的密钥&#xff08;Pre-master secret&#xff09;。…

uniapp让输入框保持聚焦状态,不会失去焦点

使用场景&#xff1a;当输入框还有发送按钮的时候&#xff0c;点击发送希望软键盘不消失&#xff0c;还可以继续输入&#xff0c;或者避免因输入图片标签造成的屏闪问题 多次尝试后发现一个很实用的方法&#xff0c;适用input输入框和editor输入框 解决办法&#xff1a;把cli…

AXI4总线解析

一、读地址 AWVALID和AWREADY同时为高时&#xff0c;在这个上升沿&#xff0c;图中黄线&#xff0c;将接下来的数据写入地址40000000中。 在

基于状态机的按键消抖实现

摸鱼记录 Day_14 !(^O^)y review 在day_13中以按键状态判断为例学习了状态分析基于状态机的按键消抖原理-CSDN博客 分析得到了下图&#xff1a; 今日任务&#xff1a;完成此过程 !(^O^)y 小梅哥对应视频&#xff1a; 15B 基于状态机的按键消抖Verilog实现_哔哩哔哩…