Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么更改画布大小会重置其参数?_Javascript_Firefox_Canvas_Mozilla - Fatal编程技术网

Javascript 为什么更改画布大小会重置其参数?

Javascript 为什么更改画布大小会重置其参数?,javascript,firefox,canvas,mozilla,Javascript,Firefox,Canvas,Mozilla,更改画布大小时,我注意到参数“mozImageSmoothingEnabled”正在重置 HTML JSFiddle: 这是错误还是预期行为?因为当您更改画布宽度或高度参数时,附加上下文的每个属性都会重置为默认值 创建画布元素时,以及随后设置宽度和高度属性时(无论是设置为新值还是设置为以前的值),必须将位图和任何关联上下文清除回其初始状态,并使用新指定的坐标空间尺寸重新初始化 谢谢但这是意料之中的吗?它背后的基本原理是什么?是的,这是意料之中的,基本原理是上下文基于像素矩阵,如果更改此像素矩阵

更改画布大小时,我注意到参数“mozImageSmoothingEnabled”正在重置

HTML

JSFiddle:


这是错误还是预期行为?

因为当您更改画布
宽度
高度
参数时,附加上下文的每个属性都会重置为默认值

创建画布元素时,以及随后设置宽度和高度属性时(无论是设置为新值还是设置为以前的值),必须将位图和任何关联上下文清除回其初始状态,并使用新指定的坐标空间尺寸重新初始化


谢谢但这是意料之中的吗?它背后的基本原理是什么?是的,这是意料之中的,基本原理是上下文基于像素矩阵,如果更改此像素矩阵,其他所有内容都必须重置。对。非常感谢。
<canvas id='canv'>Your browser don't support canvas.</canvas>
var cnv = document.getElementById('canv');
var ctx = cnv.getContext('2d');
console.log(ctx.mozImageSmoothingEnabled); // default 'true'
ctx.mozImageSmoothingEnabled = false;
console.log(ctx.mozImageSmoothingEnabled); // shows 'false'
cnv.width = 100;
console.log(ctx.mozImageSmoothingEnabled); // shows 'true'