如何缩放已在画布上绘制的内容

时间:2014-04-09 01:41:02

标签: javascript image canvas graph image-resizing

我制作了一个图形软件。但是当我放大时,它变得迟钝,因为我重新绘制了很多屏幕。我可以做与此页面相同的事情:http://fooplot.com/

当它们缩小时,它会扩展或收缩预绘制的图形,然后在我们停止放大时重绘。

.scale(2,2);似乎根本无法扩展。我的图表完全通过使用: ctx.fillRect();

告诉我你是否需要代码

1 个答案:

答案 0 :(得分:0)

您可以使用画布作为drawImage的自己的源来“快速缩放”:

演示:http://jsfiddle.net/m1erickson/Yyc5G/

var zoom=2;

function zoom(){

    ctx.save();

    ctx.translate(canvas.width/2,canvas.height/2);  // or your desired zoom point

    ctx.scale(zoom,zoom);

    ctx.drawImage(canvas,-canvas.width/2,-canvas.height/2); 

    ctx.restore();

}

哪个会快速缩放(是的,带锯齿)。

然后,当用户停止缩放时,您可以进行更好的质量重绘。