当前位置: 首页 > news >正文

有没有免费的网站空间公司做公司网站

有没有免费的网站空间,公司做公司网站,深圳全网信息流推广公司,godaddy如何上传网站本文简介 带尬猴,我是德育处主任 canvas 绘图时会根据当前状态来绘制。很多的 canvas 库都利用到这一特性。比如 p5.js 利用了 canvas 状态特性衍生出 push 和 pop 函数实现状态隔离(既然提到了,下一篇就讲这个)。 有兴趣了解 p…

本文简介

带尬猴,我是德育处主任


canvas 绘图时会根据当前状态来绘制。很多的 canvas 库都利用到这一特性。比如 p5.js 利用了 canvas 状态特性衍生出 pushpop 函数实现状态隔离(既然提到了,下一篇就讲这个)。

有兴趣了解 p5.js 的工友推荐阅读 《p5.js光速入门》。



什么是 Canvas 状态

canvas 是根据状态来绘图的。所谓的状态就是指当前画布正在使用什么填充色(fill)、什么描边色(stroke) 等样式。

比如当前的填充色(fill) 是红色,接下来所有图形的填充色都会是红色。

如果想在某一刻恢复到指定的填充色,就可以使用 canvas 提供的状态机制来实现了。



使用方法

canvas 提供了 save()restore() 两个方法去操作状态。这两个方法通常也会成对出现。

  • save(): “打标记”,记录当前状态
  • restore(): 恢复到 save() 记录的状态

举个例子

file

<canvas id="c" width="300" height="200" style="border: 1px solid #ccc;"></canvas><script>const context = document.getElementById('c')const ctx = context.getContext('2d')ctx.fillStyle = 'red' // 设置填充色为红色ctx.strokeStyle = 'blue' // 设置描边色为蓝色ctx.lineWidth = 6 // 描边宽度 6ctx.save() // 保存当前状态// 第一个矩形ctx.rect(10, 10, 100, 60)ctx.fill()ctx.stroke()ctx.fillStyle = 'pink' // 设置填充色为粉色ctx.strokeStyle = 'green' // 设置描边色为绿色ctx.lineWidth = 10 // 描边宽度 10ctx.beginPath()// 第二个矩形ctx.rect(140, 10, 100, 60)ctx.fill()ctx.stroke()ctx.fillStyle = 'orange' // 设置填充色为橙色ctx.strokeStyle = 'hotpink' // 设置描边色为亮粉ctx.lineWidth = 2 // 描边宽度 2ctx.beginPath()// 第三个矩形ctx.rect(10, 100, 100, 60)ctx.fill()ctx.stroke()ctx.restore() // 恢复到之前保存的状态ctx.beginPath()// 第四个矩形ctx.rect(140, 100, 100, 60)ctx.fill()ctx.stroke()
</script>

从上面的例子可以看出,经过几轮的样式修改,在绘制第四个矩形时,想使用第一个矩形的样式,只需要在设置完第一个矩形的样式时使用 save() 做个标记,之后再使用 restore() 恢复一下即可。


需要注意的是,每次绘制矩形之前都需要使用 beginPath() 告诉 canvas 要重新绘制了。不然前面所绘制的矩形会被后面设置的样式覆盖掉。这个“问题”在 《Canvas 从进阶到退学》 里也有讲到,有兴趣的工友可以去瞧瞧。


canvas 状态可以将裁剪区域还原到指定状态,可以将变形的画布还原到指定状态,还可以将大部分样式还原到指定状态。有兴趣的工友可以自己动手尝试一下~



代码仓库

⭐雷猴 Canvas



推荐阅读

👍《Canvas 从入门到劝朋友放弃(图解版)》

👍《Canvas 从进阶到退学》

👍《Canvas 10款基础滤镜(原理篇)》

👍《p5.js 光速入门》

👍《Fabric.js 从入门到膨胀》

👍《前端需要的免费在线api接口》


点赞 + 关注 + 收藏 = 学会了 代码仓库

http://www.yayakq.cn/news/321530/

相关文章:

  • 想在网站卖房怎么做仿牌网站服务器
  • asp网站开发 基础网站建设毕业答辩问题
  • 用html做的网站步骤网站设计ai
  • 支付宝也做网站吗自己做文字壁纸的网站
  • golang 网站开发 开源网站建设预算申请如何写
  • 网站建设的技术阶段网页微信会留下聊天记录吗
  • 网站建设合同封皮wordpress显示文章id
  • 做网站的主流软件智能软件开发方向怎么样
  • 如何做织梦论坛类的网站吉林省四平市
  • 上海网站设计案例wordpress高亮代码转义
  • 宁波网站设计方案网站开发 英文文章
  • 广州致格广告有限公司网站wordpress 删除的模板
  • 政务网站无障碍建设企业做个网站多少钱
  • 江苏建设厅网站首页百度推广在哪里能看到
  • 分类网站 模板桂林 网站建设
  • 广州外贸网站效果怎么把自己的网站放到百度搜索上
  • 关于网站建设的图片七牛做网站
  • 免费查看招标信息的网站网站开发团队 人员
  • 重庆石柱网站设计公司网站预约挂号怎么做
  • 天猫网站左侧导航用js怎么做三一国际网站设计
  • 网站开发工程师特点搞一个卖东西的网站怎么做
  • 网站建设方案书下载微商城怎么开
  • asp怎么做网站湛江市seo网站设计哪里好
  • 福州市高速公路建设指挥部网站中山专业找人公司
  • dedecms 网站名称标签网站如何做
  • wordpress视频站做织梦网站时图片路径显示错误
  • 上海市网站seo公司都匀市城乡建设局网站
  • seo营销全景图整站优化关键词排名
  • 平湖城乡规划建设局网站旺道网站优化
  • 内蒙古企业网站建设做纺织外贸哪个贸易网站好