canvas设置大小

 canvas元素实际上有两套尺寸,一个是元素本身的大小,还有一个就是元素绘图表明的大小,

设置canvas的width和height属性,实际上是同时修改了它的元素本身的大小以及元素绘图表面的大小,

默认情况下canvas元素于其绘图表面都是300*150,

<style>
    canvas{
        /*width: 600px;*/
        /*height: 300px;*/
        border: 1px solid #000;
    }
</style>
<canvas id="canvas" width="600" height="300">
    canvas not supported
</canvas>
<script>
    var canvas = document.getElementById('canvas');
    var ctx = canvas.getContext('2d');
    ctx.font = '30pt Arial';
    ctx.fillStyle = 'red';
    ctx.fillText('hello Canvas',100,100);
    ctx.strokeText('hello Canvas',100,100);
</script>

使用canvas元素的width和height属性控制的正确显示为:


通过css设定canvas元素的大小,则只会改变元素本身的大小,而不会影响到绘图表面的大小,

使用css设置canvas元素为600*300,然而绘图表面的大小没有发生变话依旧是300*150,

这时,canvas元素的大小不符合其绘图表面的大小时,浏览器就会对绘图表面进行缩放,使其符合元素的大小(放大到原来的2倍),如图:

所以,一定要注意使用width和height属性来修改canvas大小,而不是css进行操控大小,

否则会出现canvas元素大小和绘图表面大小不一致,浏览器会缩放绘图表面的大小,使之符合canvas元素的大小。


注意事项:


canvas元素的width和height只接受非负正整数,但是按照规则,不能给数值加‘px’后缀;

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Canvas设置字体大小可以使用`ctx.font`属性来实现。通过设置`ctx.font`的值为字体大小和字体名称的组合,可以轻松地改变字体大小。例如,可以使用以下代码来设置字体大小为20像素: ``` ctx.font = "20px Arial"; ``` 其中,20是字体大小,Arial是字体名称。将这行代码放在绘制文字之前,然后使用`ctx.fillText`方法绘制文字即可。例如: ``` ctx.fillText("Hello World", 10, 50); ``` 这将在Canvas上的坐标(10, 50)处绘制一个大小为20像素的"Hello World"文字。 如果你想要改变不同文字的字体大小,只需要在绘制每个文字之前使用`ctx.font`再次设置不同的字体大小就行了。例如,你可以在绘制第二个文字之前使用以下代码来设置字体大小为30像素: ``` ctx.font = "30px Verdana"; ``` 然后使用`ctx.fillText`方法绘制第二个文字。例如: ``` ctx.fillText("Hello World", 10, 90); ``` 这将在Canvas上的坐标(10, 90)处绘制一个大小为30像素的"Hello World"文字。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [canvas的使用](https://download.csdn.net/download/weixin_38563176/14045822)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [canvas文字绘制(大小、粗体、倾斜、对齐、基线)](https://blog.csdn.net/qq_29752857/article/details/126257149)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值