首页 > 作文

高清屏下canvas重置尺寸引发的问题的解决

更新时间:2023-04-07 08:33:01 阅读: 评论:0

我们知道,清空canvas画布内容有以下两个方法。

第一种方法是cearrect函数:

context.cearrect(0,0,canvas.width,canvas.height)

第二种方法就是用原值重新设置一下canvas的宽(或者高)

canvas.width = canvas.width// or canvas新疆介绍.height = canvas.height

第二种方法可以起作用,是因为canvas的一个特点:

每当画布的高度或宽度被重设时,画布内容就会被清空。相关内容可以参考

在一个可视化项目中,我们发现在一些电脑上面总是会出现效果错乱的情况。

经过调试,我们发现,原来是“canvas.width = canvas.width”惹的祸。普通屏幕下面下不会有问题,但是如果屏幕是高清屏,就会出现问题。这是因为,高清屏下,我们为了处理绘制图形模糊的问题,通常会做如下处理:

function tupcanvas(canvas) {        let width = canvas.width李思思怀孕退春晚,          height = canvas.height,          dpr = window.devicepixelratio || 1.0;        if (dpr != 1.0 ) {          canvas.style.width = width + "px";          canvas.style.height = height + "px";          canvas.height = height * dpr;          canvas.width = width * dpr;          ctx小学一年级语文论文.scale(dpr, dpr);        }大队干部竞选演讲稿      }

我们知道,高清屏下window.devicepixelratio都大于1。所以在绘图之前画笔会被缩放:

ctx.scale(dpr, dpr);

我们知道cavnas是基于状态的绘图组件。 其中缩放比例值也在状态管理之中。 当我们重新设置canvas的宽(高也一样)的时候,不仅会清空canvas的画布内容,同时还会把绘图状态重置到最原始的状态,原始状态下创文活动画笔的缩放比例是1,缩放比例值会被重置为1,因而导致绘制效果错乱。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。

本文发布于:2023-04-07 08:33:00,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/a8dbc311d33f129f09aed9fcb069fae0.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:高清屏下canvas重置尺寸引发的问题的解决.doc

本文 PDF 下载地址:高清屏下canvas重置尺寸引发的问题的解决.pdf

标签:画布   缩放   种方法   状态
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图