前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合

    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础

    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习

    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他

    • Handbook
    • 职场话题
    • CSS可视化
  • 框架文档

    • React
    • Vue3
    • Vite
    • Svelte
    • Angular
    • NodeJS
    • Egg
    • Nest
    • Koa
    • Express
    • Electron
    • Ionic
    • Taro
    • Uniapp
    • React Native
    • Webpack
    • Rollup
    • Jquery API
    • Bootstrap
    • Axios
    • Lodash
    • RXJS
    • Sequelize
    • TypeORM
    • Mongoose
    • GraphQL
    • Puppeteer
    • Sass
    • Less
    • Umi4
    • Miniprogram
  • 文档教程

    • Cheatsheets
    • Devdocs有可能是全球最全的文档库
    • Overapi
    • JavaScript 标准参考教程
    • ES6 入门教程
    • MDN在线文档
    • Typscript中文文档
    • JavaScript Promise迷你书(中文版)
    • Canvas API中文
    • Git中文手册
    • 云开发Cloudbase
    • Serverless中文文档
  • UI组件

    • Ant Design React
    • Ant Design Vue
    • Ant Design Pro
    • ProComponents
    • 腾讯Tdesign
    • NutUI京东风格的轻量级移动端 Vue 组件库
    • Semantic UI Vue
    • Cube UI Vue滴滴
    • Iview UI
    • 有赞Vant Vue3
    • 有赞Vant 小程序
    • Element UI Vue3
  • 可视化

    • Antv
    • Bizcharts
    • Threejs
    • D3js
    • Highcharts
    • Echarts
  • 配置相关

    • ESLint
    • Babel
    • Nginx中文文档
    • Github Action中文
    • Docker官方文档
    • Jenkins官方文档
  • 后端相关

    • Spring官方文档中文版
    • Spring Boot官方文档
    • Spring Cloud官方文档
    • Java8官方文档
    • maven官方文档
    • Tomcat 8官方文档
    • Kafka中文文档
    • MyBatis中文文档
    • RabbitMQ中文文档
    • Dubbo中文文档
    • Netty官方文档
    • Elasticsearch官方文档
    • K8S官方文档
  • 实用工具

    • 在线正则表达式调试工具
    • 在线正则表达式可视化
    • 常用正则表达式大全
    • 可以在线看代码流程的网站:loupe
    • 在线MD5编码工具
    • 在线JWT解码工具
    • 在线JSON解析
    • 在线文本比对
    • 在线JS代码格式化
    • 在线SQL压缩格式化
    • 在线XML压缩格式化
    • 在线时间戳转化工具
    • 在线RGB颜色转化工具
    • 在线HTTP在线接口测试工具
    • 在线IP地址查询
    • 在线菜鸟综合导航工具
  • 在线编程

    • MipCode快速的在线代码创作工具
    • Codepen
    • Jsbin
    • CodeSandBox在线快速学习React/Vue
    • Vue SFC Playground
    • Vue3 模板在线解析查看编译结果
    • Svelte Playground
    • 在线尝试Babel编译
    • Typescript在线编译
    • AST可视化编辑
    • 在线尝试Rollup打包
    • Prettier Playground
    • Stackblitz基于VSCODE的WEBIDE
    • NPM Runkit在浏览器中快速学习及尝试Node.js模块
    • Play with Docker在线体验
  • CSS相关

    • 用来帮助大家查找CSS的相关属性的语法,以及使用方法
    • 提供了CSS相关属性的浏览器兼容表,同时提供了对应属性资源
    • Flex在线动态练习
    • 贝塞尔曲线生成工具
    • SCSS在线转CSS
    • Clip-path在线生成器
    • Animate.css动画效果
    • 按需定制CSS动画效果
    • 一份清单,按字母表顺序列出了每个CSS属性
    • CSS按钮生成器
    • Css3按钮动画
    • CSS3渐变样式生成器,类似Photoshop中的渐变界面
    • CSS3 Maker可在线演示渐变阴影旋转动画并生成代码
    • CSS3 Tool非常方便的生成背景渐变、阴影、旋转和边框圆角效果
    • SVG背景生成
    • 多张图片合成雪碧图
    • 汇集了实现各种加载效果的CSS代码片段
    • SVG滤镜
    • HTML5 元素标签含义大全(元素周期表)
    • HTML语义化
    • KakaCss快速生成Css样式,在任意网站复制内容,再到本页面Ctrl+V
    • CSS参考手册
    • 各种各样的loading效果
    • CSS shadow generator
    • 通过拖拽的形式生成需要的border radius
    • 花式半径生成器-通过拖拽的形式生成需要的border radius
    • cssgrid-generator
  • 综合

    • 可视化学习算法网站
    • 在线Nginx配置
    • React生命周期查看网站
    • CodeFun设计稿智能生成源代码
    • Imgcook由设计稿一键智能生成代码的大厨
  • 创作必备

    • 在线画图processon
    • Draw.io免费的流行的流程图工具
    • 在线思维导图mindline
    • 在线字数统计
    • 在线mardown排版
    • 在线免费图床
    • 在线代码截图carbon
    • 在线短链生成
    • 在线文本替换
    • 在线文件压缩
    • 在线多媒体转换器
    • 在线PDF转化工具SmallPdf
    • 在线任意文件的格式转换Convertio
    • 在线PS工具
    • 在线抠图工具
    • LOGO在线制作
    • 在线制作海报设计工具
    • Open source icons
    • 表情包在线网站
    • 图片智能放大工具
    • ICO图标在线生成
    • 视频转GIF工具
    • 音频在线处理
    • 多图合成GIF工具
    • 在线图片压缩工具
    • Pixabay图片素材库
    • Unsplash图片素材库
    • Pexels图片素材库
小程序题库
公众号动态
博客动态
前端导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合

    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础

    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习

    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他

    • Handbook
    • 职场话题
    • CSS可视化
  • 框架文档

    • React
    • Vue3
    • Vite
    • Svelte
    • Angular
    • NodeJS
    • Egg
    • Nest
    • Koa
    • Express
    • Electron
    • Ionic
    • Taro
    • Uniapp
    • React Native
    • Webpack
    • Rollup
    • Jquery API
    • Bootstrap
    • Axios
    • Lodash
    • RXJS
    • Sequelize
    • TypeORM
    • Mongoose
    • GraphQL
    • Puppeteer
    • Sass
    • Less
    • Umi4
    • Miniprogram
  • 文档教程

    • Cheatsheets
    • Devdocs有可能是全球最全的文档库
    • Overapi
    • JavaScript 标准参考教程
    • ES6 入门教程
    • MDN在线文档
    • Typscript中文文档
    • JavaScript Promise迷你书(中文版)
    • Canvas API中文
    • Git中文手册
    • 云开发Cloudbase
    • Serverless中文文档
  • UI组件

    • Ant Design React
    • Ant Design Vue
    • Ant Design Pro
    • ProComponents
    • 腾讯Tdesign
    • NutUI京东风格的轻量级移动端 Vue 组件库
    • Semantic UI Vue
    • Cube UI Vue滴滴
    • Iview UI
    • 有赞Vant Vue3
    • 有赞Vant 小程序
    • Element UI Vue3
  • 可视化

    • Antv
    • Bizcharts
    • Threejs
    • D3js
    • Highcharts
    • Echarts
  • 配置相关

    • ESLint
    • Babel
    • Nginx中文文档
    • Github Action中文
    • Docker官方文档
    • Jenkins官方文档
  • 后端相关

    • Spring官方文档中文版
    • Spring Boot官方文档
    • Spring Cloud官方文档
    • Java8官方文档
    • maven官方文档
    • Tomcat 8官方文档
    • Kafka中文文档
    • MyBatis中文文档
    • RabbitMQ中文文档
    • Dubbo中文文档
    • Netty官方文档
    • Elasticsearch官方文档
    • K8S官方文档
  • 实用工具

    • 在线正则表达式调试工具
    • 在线正则表达式可视化
    • 常用正则表达式大全
    • 可以在线看代码流程的网站:loupe
    • 在线MD5编码工具
    • 在线JWT解码工具
    • 在线JSON解析
    • 在线文本比对
    • 在线JS代码格式化
    • 在线SQL压缩格式化
    • 在线XML压缩格式化
    • 在线时间戳转化工具
    • 在线RGB颜色转化工具
    • 在线HTTP在线接口测试工具
    • 在线IP地址查询
    • 在线菜鸟综合导航工具
  • 在线编程

    • MipCode快速的在线代码创作工具
    • Codepen
    • Jsbin
    • CodeSandBox在线快速学习React/Vue
    • Vue SFC Playground
    • Vue3 模板在线解析查看编译结果
    • Svelte Playground
    • 在线尝试Babel编译
    • Typescript在线编译
    • AST可视化编辑
    • 在线尝试Rollup打包
    • Prettier Playground
    • Stackblitz基于VSCODE的WEBIDE
    • NPM Runkit在浏览器中快速学习及尝试Node.js模块
    • Play with Docker在线体验
  • CSS相关

    • 用来帮助大家查找CSS的相关属性的语法,以及使用方法
    • 提供了CSS相关属性的浏览器兼容表,同时提供了对应属性资源
    • Flex在线动态练习
    • 贝塞尔曲线生成工具
    • SCSS在线转CSS
    • Clip-path在线生成器
    • Animate.css动画效果
    • 按需定制CSS动画效果
    • 一份清单,按字母表顺序列出了每个CSS属性
    • CSS按钮生成器
    • Css3按钮动画
    • CSS3渐变样式生成器,类似Photoshop中的渐变界面
    • CSS3 Maker可在线演示渐变阴影旋转动画并生成代码
    • CSS3 Tool非常方便的生成背景渐变、阴影、旋转和边框圆角效果
    • SVG背景生成
    • 多张图片合成雪碧图
    • 汇集了实现各种加载效果的CSS代码片段
    • SVG滤镜
    • HTML5 元素标签含义大全(元素周期表)
    • HTML语义化
    • KakaCss快速生成Css样式,在任意网站复制内容,再到本页面Ctrl+V
    • CSS参考手册
    • 各种各样的loading效果
    • CSS shadow generator
    • 通过拖拽的形式生成需要的border radius
    • 花式半径生成器-通过拖拽的形式生成需要的border radius
    • cssgrid-generator
  • 综合

    • 可视化学习算法网站
    • 在线Nginx配置
    • React生命周期查看网站
    • CodeFun设计稿智能生成源代码
    • Imgcook由设计稿一键智能生成代码的大厨
  • 创作必备

    • 在线画图processon
    • Draw.io免费的流行的流程图工具
    • 在线思维导图mindline
    • 在线字数统计
    • 在线mardown排版
    • 在线免费图床
    • 在线代码截图carbon
    • 在线短链生成
    • 在线文本替换
    • 在线文件压缩
    • 在线多媒体转换器
    • 在线PDF转化工具SmallPdf
    • 在线任意文件的格式转换Convertio
    • 在线PS工具
    • 在线抠图工具
    • LOGO在线制作
    • 在线制作海报设计工具
    • Open source icons
    • 表情包在线网站
    • 图片智能放大工具
    • ICO图标在线生成
    • 视频转GIF工具
    • 音频在线处理
    • 多图合成GIF工具
    • 在线图片压缩工具
    • Pixabay图片素材库
    • Unsplash图片素材库
    • Pexels图片素材库
小程序题库
公众号动态
博客动态
前端导航
HTML5之API总结
首页
2016-11-26 14:35:24
Front-End
HTML5API

# 一、Canvas API


canvas API是H5标准中最复杂的部分, 它提供几种属性和方法,可以在canvas元素上创建图形应用

# 方法


以下方法专门用于调用canvas API

  • getContext(context)创建可绘制图形的画布上下文,接受两个值,2d和3d

  • fillRect(x,y,width,height) 绘制实心矩形

  • strokeRect(x,y,width,height)绘制矩形轮廓

  • clearRect(x,y,width,height)清除画布指定区域内容

  • createLinearGradient(x1,y1,x2,y2)创建一个线性渐变效果

  • createRadialGradient(x1,y1,r1,x2,y2,r2)创建一个放射渐变效果

  • addColorStop(position,color)用于声明渐变颜色 position范围是0.0-1.0 用于确定颜色开始变化位置

  • beginPath() 开始一条新路径

  • closePath()在路径最后实现封闭该路径,它会生成一条直线,连接笔触的最后一个位置与路径的起点。如想要保持路径开放,使用fill()绘图,不用这个方法

  • stroke() 用于创建路径轮廓

  • fill()用于绘制实心形状

  • clip()用于创建一个由路径定义的裁剪区域,只有在落入形状内的内容才绘制到画布上

  • moveTo(x,y)将虚拟笔触移到新位置,下一个方法会从改点的开始继续设置路径

  • lineTo(x,y)在新路径上添加一条直线

  • rect(x,y,width,height)在路径为(x,y)位置上添加width和height矩形

  • arc(x,y,radius,startAngle,endAngle,direction)在路径上添加一条弧线 ,x,y指定弧线的中心,角度单位为弧度,direction是一个表示顺时针或逆时针的布尔值。使用公式 Math.PI/180x角度,将角度转换为半径

  • strokeText(text,x,y,max) 直接在画布上绘制文字轮廓。可选参数,max声明文字最大尺寸

  • fillText(text,x,y,max)直接在画布上绘制实心文字。可选参数,max声明文字最大尺寸

  • translate(x,y) 将画布原点移到点(x,y)处,原点(0,0)初始位置位于canvas所在区域的左上角

  • rorate(angle) 这个方法可以使画布原点为中心发生旋转,角度必须是弧度。使用公式 Math.PI/180x 将角度转换为弧度

  • scale(x,y) 改变画布比例 默认值是(1.0,1.0)这些值可以是负值

  • transform(m1,m2,m3,m4,dx,dy)修改画布的转换矩阵。新矩阵是基于之前的矩阵得到的

  • setTransform(m1,m2,m3,m4,dx,dy)修改画布的转换矩阵。重置之前的值,声明新的值

  • save()保存画布状态,包括转换矩阵、样式属性、裁剪遮罩

  • restore() 恢复上一次保存的状态

  • drawImage() 在画布上绘制图像

# 属性


canvas API专用属性列表

  • rect( x, y, width, height ) 绘制矩形

  • fillRect( x, y, width, height ) 绘制被填充的矩形

  • strokeRect( x, y, width, height ) 绘制矩形(无填充)

  • clearRect( x, y, width, height ) 清除指定的矩形内的像素

  • fill() 填充当前绘图(路径)

  • stroke() 绘制已定义的路径

  • beginPath() 起始(重置)当前路径

  • moveTo( x, y ) 将笔触移动到指定的坐标(x,y)

  • lineTo( x, y ) 绘制一条从当前位置到指定的坐标(x,y)的直线

  • clip() 从原始画布剪切任意形状和尺寸的区域

  • quadraticCurveTo() 创建二次贝塞尔曲线

  • bezierCurveTo() 创建三次贝塞尔曲线

  • arc( x, y, radius, startAngle, endAngle, anticlockwise) 绘制圆或圆弧

  • arcTo( x1, y1, x2, y2, radius) 根据给定点画圆弧,再以直线连接两个点

  • isPointInPath( x, y ) 检测指定的点是否在当前路径中,在则返回true。

  • fillStyle 设置或返回用于填充绘画的颜色、渐变或模式

  • strokeStyle 设置或返回用于笔触的颜色、渐变或模式

  • shadowColor 设置或返回用于阴影的颜色

  • shadowBlur 设置或返回用于阴影的模糊级别

  • shadowOffsetX 设置或返回阴影与形状的水平距离

  • shadowOffsetY 设置或返回阴影与形状的垂直距离

  • lineCap 设置或返回线条的结束点样式(butt、round、square)

  • lineJoin 设置或返回当两条线交汇时,边角的类型(bevel、round、miter)

  • lineWidth 设置或返回当前的线条宽度

  • miterLimit 设置或返回最大斜接长度

  • createLinearGradient( x0, y0, x1, y1 ) 创建线性渐变

  • createPattern( image/canvas/video, repeat ) 在指定的方向内重复绘制指定的元素

  • createRadialGradient( x0, y0, r0, x1, y1, r1 ) 创建径向渐变

  • addColorStop( stop, color ) 规定渐变对象中的颜色和停止位置

  • font 设置或返回文本内容的当前字体属性(和css的font一样)

  • textAlign 设置或返回文本内容的当前对齐方式

  • textBaseline 设置或返回在绘制文本时使用的当前文本基线

  • fillText( text, x, y ) 在画布上绘制“被填充”的文本

  • fe
    Preview
    • 一、Canvas API
      • 方法
      • 属性
      • canvas常用总结
    • 二、视频音频
      • Video的使用
    • 三、地理信息与本地存储
      • 地理位置
      • 本地存储
    • 四、HTML5拖拽
    • 五、跨文档操作

    ← Canvas 绘制动画时钟Ajax总结篇 →