画布中的缩放方法

时间:2012-11-15 17:20:25

标签: javascript html html5-canvas

当用户点击zoom()zoom_in按钮时,我正在使用zoom_out功能。 img_update()函数用于重绘canvas元素。

现在缩放仅在我在画布上绘画后才起作用,但我想在用户点击缩放按钮后立即看到缩放效果。我该如何解决这个问题?

function zoom() {
    switch(this.id) {
        case "zoom_in":
            scale /= scaleMultiplier;
            img_update(scale);
            break;
        case "zoom_out":
            scale *= scaleMultiplier;
            img_update(scale);
            break;
    }
}

function img_update( scale ) {
    redoArray.length = 0;
    flag = 0;
    contextUI.scale(scale, scale);
    contextUI.transform(scale, scale);
    contextUI.drawImage(canvas, 0, 0);
    context.clearRect(0, 0, w, h);

}

1 个答案:

答案 0 :(得分:0)

我的猜测是,当你第一次尝试点击缩放时,缩放是未定义的,虽然在渲染之后,它已被定义。控制台记录所有内容