2021SC@SDUSC
这次接着上次的js文件继续分析。在该js文件中还有两个方法没有介绍,一个是resize()方法,另一个是clear()方法。
对于resize()方法,传入的参数只有两个,一个是宽度width、一个是高度height,对于无法得到canvas实例的,直接返回。当存在canvasInstance的style时,则设置canvasInstance.style的width和height属性。然后将canvas Instance的width和height属性根据宽高和dpr计算得出最后的值。接着判断是否为hiddencanvas,如果不是则返回。如果是的话,则对hiddenCanvas的width、height进行计算,跟canvasInstance计算过程相同。最后判断dpr然后设置scale。
resize(width, height) {
//Can NOT get canvas instance in Wechat mini-program.
if (!this.canvasInstance) {
return;
}
if (this.canvasInstance.style) {
this.canvasInstance.style.width = width + 'px';
this.canvasInstance.style.height = height + 'px';
}
this.canvasInstance.width = width * this.dpr;
this.canvasInstance.height = height * this.dpr;
if (!this.hiddenCanvas) {
return;
}
this.hidden