重新认识canvas

简介: canvas是 HTML5 提供的一种新标签,通常被称为画布。`是一个可以使用脚本(通常为JavaScript)来绘制图形的 HTML 元素`。通过api提供了一种绘制的能力,它可以用于`动画、游戏画面、数据可视化、图片编辑以及实时视频处理`等方面。Canvas API 主要聚焦于`2D`图形。而同样使用Canvas元素的 `WebGL API 则用于绘制硬件加速的2D和3D图形

什么是canvas

canvas是 HTML5 提供的一种新标签,通常被称为画布。是一个可以使用脚本(通常为JavaScript)来绘制图形的 HTML 元素。通过api提供了一种绘制的能力,它可以用于动画、游戏画面、数据可视化、图片编辑以及实时视频处理等方面。Canvas API 主要聚焦于2D图形。而同样使用Canvas元素的 WebGL API 则用于绘制硬件加速的2D和3D图形

canvas的默认属性

canvas只有两个属性widthheight。当没有设置宽度和高度的时候,canvas 会默认宽度为 300 像素和高度为 150 像素

 <canvas width="150" height="150" id="dajianshi"></canvas>

canvas的上下文

``javascript 为了展示,首先js需要找到渲染上下文,然后在它的上面绘制。<canvas> 元素有一个叫做getContext()` 的方法,这个方法是用来获得渲染上下文和它的绘画功能。getContext()接受一个参数,即上下文的类型,参考值有2d,webgl,webgl2,bitmaprenderer等。

const canvas = document.getElementById('demo');
const ctx = canvas.getContext('2d');
console.log(ctx);

代码中:ctx 就可以调用很多canvas内置的方法了,这个前奏是必须要有的。

canvas的坐标系

001.png

canvas的坐标系和我们数学中常用的直角坐标系不太一样,我们通常称为窗口坐标系,窗口坐标系统与直角坐标系统都含有x轴,y轴,两轴的交点为坐标原点(0,0),原点沿x轴向右方向为正值,不同的是原点沿y轴方向向下为正值。在canvas的2D绘图环境中的坐标系统,默认情况下以canvas的左上角为坐标原点,沿x轴向右为正值,沿y轴向下为正值。其中canvas坐标的单位都是 "px"。然而Canvas的坐标系并不是固定的,我们可以对坐标系统进行评议放缩及旋转,我们称为坐标变换——平移、缩放、旋转

相关文章
|
网络协议 网络安全 数据库
python验证公网ip与内网ip
python验证公网ip与内网ip
328 0
|
定位技术 Python
【python】pygame实现植物大战僵尸小游戏(附源码 有注释)
【python】pygame实现植物大战僵尸小游戏(附源码 有注释)
2675 1
|
云安全 弹性计算 运维
BYOIP灵魂十问 | 详解阿里云自带公网IP上云
2020年6月11日,在阿里云“企业出海全球化网络新品发布会”上,阿里云洛神云网络宣布弹性公网IP产品全面升级,推出自带公网IP上云解决方案。本文通过十问十答方式详细解读。
BYOIP灵魂十问 | 详解阿里云自带公网IP上云
|
3月前
|
人工智能 JSON API
快速上手Cursor,让AI替你敲键盘
Cursor Editor基于VS Code内核,深度集成GPT-4等大模型,支持对话式编程。通过Ctrl+K和Ctrl+L快捷键,可快速生成、修改、解释代码,智能调试与重构。适合开发者提升效率,专注核心设计。
|
机器学习/深度学习 安全 大数据
揭秘!企业级大模型如何安全高效私有化部署?全面解析最佳实践,助你打造智能业务新引擎!
【10月更文挑战第24天】本文详细探讨了企业级大模型私有化部署的最佳实践,涵盖数据隐私与安全、定制化配置、部署流程、性能优化及安全措施。通过私有化部署,企业能够完全控制数据,确保敏感信息的安全,同时根据自身需求进行优化,提升计算性能和处理效率。示例代码展示了如何利用Python和TensorFlow进行文本分类任务的模型训练。
853 6
|
AI芯片
AIGC视频生成/编辑技术调研报告
随着图像生成领域的研究飞速发展,基于diffusion的生成式模型取得效果上的大突破。在图像生成/编辑产品大爆发的今天,视频生成/编辑技术也引起了学术界和产业界的高度关注。该分享主要介绍视频生成/编辑的研究现状,包括不同技术路线的优劣势,以及该领域当下面临的核心问题与挑战。
1998 3
AIGC视频生成/编辑技术调研报告
|
XML Java 程序员
Spring6框架中依赖注入的多种方式(推荐构造器注入)
依赖注入(DI)是一种过程,对象通过构造函数参数、工厂方法的参数或在对象实例构建后设置的属性来定义它们的依赖关系(即与其一起工作的其他对象)。
560 3
|
安全 Shell Linux
探索Linux命令chsh:更改用户的默认shell
`chsh`是Linux命令,用于更改用户的默认登录shell。它涉及用户环境配置和系统安全,允许用户选择更适合自己的shell以提升效率。命令有交互式选项和参数如`-s`来指定新shell。在使用时要注意新shell的可执行性、权限问题及选择合适的shell。例如,要更改为bash,用户可运行`chsh`后按提示操作,而root用户能用`sudo chsh -s /bin/zsh john`为用户`john`设定zsh。在更改前,确认shell路径、权限,并了解不同shell的特点。
|
算法 搜索推荐 安全
来自一线技术人的经验分享|如何写出让人眼前一亮的述职报告
本文作者从亲身经验阐述了一线技术人为什么述职、怎么述职以及述职的重要性。每年述职都是一大关,作者把自己的一些经验教训通过文字分享给大家,希望能帮助到更多的人。
38253 14
来自一线技术人的经验分享|如何写出让人眼前一亮的述职报告
|
编解码 供应链 搜索推荐
虚拟现实与教育:沉浸式学习的潜力
【10月更文挑战第2天】虚拟现实(VR)技术正在革新教育领域,通过沉浸式体验提升学习效果和兴趣。本文探讨了VR在教育中的应用潜力,特别是在历史、地理、自然科学和语言教育中的案例。虽然面临设备成本和技术支持等挑战,但随着技术进步和成本降低,VR有望成为教育的重要工具,带来更丰富的学习体验。

热门文章

最新文章