BlueOS Studio中使用canvas

举报
红目香薰 发表于 2024/06/30 20:06:03 2024/06/30
【摘要】 ​ 创建 canvas 画布这里需要写在【template】标签中<div class="content">      <canvas class="new-canvas" id="new-canvas"></canvas></div>写样式<style>  .content {    flex-direction: column;    align-items: center;    wi...

 创建 canvas 画布

这里需要写在【template】标签中

<div class="content">
      <canvas class="new-canvas" id="new-canvas"></canvas>
</div>

写样式

<style>
  .content {
    flex-direction: column;
    align-items: center;
    width: 100%;
  }
  .new-canvas {
    height: 380px;
    width: 380px;
  }
</style>

绘制

是否绘制

drawComplete: false

声明与绘制 

      const canvas = this.$element('new-canvas') //获取 canvas 组件
      const ctx = canvas.getContext('2d') //获取 canvas 绘图上下文

      //绘制一个矩形
      ctx.fillStyle = 'rgb(200,0,0)'
      ctx.fillRect(20, 20, 200, 200)

      //绘制另一个矩形
      ctx.fillStyle = 'rgba(0, 0, 200, 0.5)'
      ctx.fillRect(80, 80, 200, 200)

      this.drawComplete = true

实际效果:

编辑

这个4+4也就是使用canvas来生成的,难度中等,但是不能使用document来操作,因为核心没有。

vue的canvos与html的canvos的区别

Vue.js的Canvas与HTML Canvas在以下几个方面存在一些区别:

运行环境:HTML Canvas 是HTML标准的一部分,可以直接在浏览器中运行。而Vue.js的Canvas通常是在浏览器之外运行的,例如在Node.js环境中,Vue.js是一个JavaScript框架,提供了一种构建用户界面的方法。

使用方式:HTML Canvas 是通过HTML标签直接在网页中使用的,而Vue.js的Canvas通常是通过在Vue组件中创建画布元素,并在该元素上绘制图形的方式使用。

功能和API:HTML Canvas 提供了一些基本的绘图API,如画线、填充等。而Vue.js通常是通过使用其他库(如vue-konva或vue-fabric-canvas等)来提供更高级的绘图功能和更丰富的API。

视图更新:HTML Canvas 的视图更新是实时的,这意味着你可以实时地看到你的绘图操作。而Vue.js的Canvas视图更新可能不是实时的,这取决于你的代码如何使用它。

框架依赖:Vue.js是一个完整的框架,提供了许多额外的功能,如数据绑定、组件系统、路由、状态管理等。而HTML Canvas 只是HTML标准的一部分,没有这些额外的功能。

总的来说,Vue.js的Canvas与HTML Canvas的主要区别在于运行环境、使用方式、功能和API、视图更新以及框架依赖等方面。选择使用哪种Canvas取决于你的具体需求和环境。如果你只需要基本的绘图功能,HTML Canvas 可能是个不错的选择。但如果你需要更强大和灵活的绘图功能,以及与Vue.js的集成,那么使用Vue.js的Canvas可能更适合你。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。