1

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

现在缩放仅在我在画布上绘画后才起作用,但我希望在用户单击缩放按钮后立即看到缩放效果。我怎样才能解决这个问题?

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);

}
4

1 回答 1

0

我的猜测是,当您第一次尝试单击缩放时,比例是未定义的,但在渲染之后,它就会被定义。控制台记录一切

于 2013-01-11T17:48:49.667 回答