Canvas大小改变后进行图像重绘

来源:互联网 发布:出租车打车软件算法 编辑:程序博客网 时间:2024/05/23 21:47

        Canvas的大小如果改变了,会把所有图像进行清除,但是实际应用中经常会出现需要改变Canvas大小的需求,尤其是安卓设备上,如果页面的输入法打开了再关闭就会引起Canvas的大小改变。现在寻找到了在大小改变之前进行存储图像,改变后再重绘图像的办法,顺便将Canvas的大小设置进行记录。

        Canvas的大小设置不能采用CSS的style进行设置,CSS的方式只是对Canvas进行缩放,图像会随之变大或变小,但是采用Canvas提供的方式改变其大小则图片不会随之缩放,即直接设置画布的width和height属性。

function canvasOnResize(height, width){ctx = context; var imageData = cxt.getImageData(0,0,canvas.width,canvas.height);// 保存当前图像<pre name="code" class="javascript"><span style="white-space:pre"></span>canvas.height = height;
<span style="white-space:pre"></span>canvas.width = width;
<pre name="code" class="javascript"><span style="white-space:pre"></span>cxt.putImageData(imageData,0,0); //重绘大小改变前保存的图像
}



0 0