从零开始学习在VUE3中使用canvas(一):实现一个基础的canvas画布

一、步骤

1.写一个canvas元素

2.获取虚拟dom

3.获取绘制环境

4.绘制想要的效果

5.在挂载后执行

二、代码

html 复制代码
<template>
  <div class="canvasPage">
    <!-- 写一个canvas标签 -->
    <canvas class="main" ref="main"></canvas>
  </div>
</template>
<script setup lang="ts">
import { ref, onMounted } from "vue";

// 获取canvas元素
const main = ref<HTMLCanvasElement>();

// 绘制canvas
const drawCanvas = () => {
  // 确保获取到了canvas元素
  if (!main.value) return console.error("无法获取Canvas元素");
  const canvas = main.value;

  // 设置canvas的宽高
  canvas.width = 100;
  canvas.height = 100;

  // 获取Canvas绘制2D环境
  const ctx = canvas.getContext("2d");
  if (!ctx) return console.error("无法获取CanvasRenderingContext2D");
  // 定义后面绘制的图形的颜色
  ctx.fillStyle = "red";
  // 绘制矩形(矩形左上角坐标x,y,宽度,高度)
  ctx.fillRect(0, 0, 100, 100);
};

// 页面挂载后才能绘制
onMounted(() => {
  drawCanvas();
});
</script>
<style lang="scss" scoped>
.canvasPage {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #dddddf;
  .main {
    width: 100px;
    height: 100px;
  }
}
</style>

三、效果

下一篇:从零开始学习在VUE3中使用canvas(二):fillStyle(填充样式)-CSDN博客

相关推荐
saoys7 分钟前
Opencv 学习笔记:图像卷积操作(锐化核实战 + 数据类型避坑)
笔记·opencv·学习
css趣多多14 分钟前
vue3的组件间通信ref子组件需要把父组件要的ref数据开放
前端·javascript·vue.js
来两个炸鸡腿25 分钟前
【Datawhale组队学习202602】Easy-Vibe task02 认识AI IDE工具
ide·人工智能·学习·大模型
我是伪码农26 分钟前
Vue 2.10
前端·javascript·vue.js
Bin Watson33 分钟前
FOC学习记录(2):Clarke、Park、反 Clarke 和逆 Park 变换
学习
AAA阿giao34 分钟前
React 性能优化双子星:深入、全面解析 useMemo 与 useCallback
前端·javascript·react.js
不想秃头的程序员38 分钟前
父传子全解析:从基础到实战,新手也能零踩坑
前端·vue.js·面试
大时光40 分钟前
gsap 配置解读 --5
前端
Wect41 分钟前
LeetCode 25. K个一组翻转链表:两种解法详解+避坑指南
前端·算法·typescript
shadowingszy41 分钟前
【前端趋势调查系列】带你看看前端生态圈的技术趋势state-of-js 2025详细解读
前端·javascript·vue.js