前言
之前记录过canvas常用的api的含义这些理论知识
下面通过几个实战🌰来加深对canvas的理解和使用
(以下代码都是基于vue3的,顺道一起学习,一举两得😁)
css和js都可以控制画布大小的改变,但是css里只是让画布像图片一样缩放,内部的像素大小是不变的。直接在html标签中设置width和height属性或者使用JavaScript也可以改变画布的尺寸,这个时候就不是缩放画布了,而是真正的改变了画布内的像素大小。
🌰 例子 🌰
改变canvas
大小,画布会变空白的原因
如下图:canvas
绘制hello world
后,点击按钮改变canvas
高度,引起画布重绘,画布内容会丢失
代码如下(vue3代码):
<template>
<div>
<div class="change-size">
<p>动态改变canvas大小</p>
<span>例如: 点击按钮2秒后,改变canvas高度,会引起canvas的重新加载,导致已经绘制好的内容丢失</span>
<br />
<button class="my-btn" @click="changeSize">改变canvas高度</button>
<canvas id="text" width="600" :height="tHeight" style="background: #ececec"></canvas>
</div>
</div>
</template>
<script>
import {
ref } from 'vue';
export default {
name: 'BlurSolution',
setup(