canvas动态设置宽高

本文介绍了如何在HTML中使用canvas标签时,通过行内设置和JavaScript动态调整其宽度和高度,以适应不同屏幕尺寸并保持清晰效果。通过包裹canvas在div中,并设置div为100%宽度和高度,同时利用JS获取实际视口大小,避免了画布被放大。
摘要由CSDN通过智能技术生成

canvas 的默认宽高为 宽 300px 150px

如果在 style 里修改宽高  相当于对 canvas 做放大 而为了不影响效果  我们正常显示需要怎么办呢?

一. 行内设置

<canvas id="can" width='800' height='600'></canvas>

这种情况是大家画图的时候知道要给多宽的时候写的   但是真正做项目时就用的很少  因为要适配不同屏幕的电脑

二. JS动态设置

首先我们用一个 div 去包住 canvas

<div id="app">
    <canvas id="can"></canvas>
</div>

然后在 style 或者行内都行设置样式   这里 #app 这个盒子占多款多高  canvas 就是多宽多高

#app {
    height: 100%;
    width: 100%;
}

#can {
    width: 100%;
    height: 100%;
}

最后 JS 设置防止拉伸放大

this.app = document.getElementById('app')
this.can = document.getElementById("can")
// 创建一个2Dcanvas画布
this.context = this.can.getContext('2d')
this.can.width = this.app.offsetWidth
this.can.height = this.app.offsetHeight

完成!

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值