当我更改画布大小时,我注意到参数'mozImageSmoothingEnabled'正在重置。
HTML
<canvas id='canv'>Your browser don't support canvas.</canvas>
Javascript
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'
[JSFiddle:https://jsfiddle.net/epvtuz37/
这是错误,还是预期的行为?
因为更改画布width
或height
参数,所以附加上下文的[[every属性将重置为其默认值。
创建画布元素时,随后每当设置width和height属性(无论是新值还是之前的值)时,位图和任何关联的上下文都必须清除回其初始状态,并使用新指定的坐标空间尺寸。