레이어가 다시 그려 때마다, 캔버스의 크기가 조절 될 필요가 :
이 제 기능입니다.
따라서 layer
속성을 true
으로 설정하여 scaleCanvas()
을 jCanvas 레이어로 호출해야합니다 (실제로이 작업을 수행 할 수 있음).
$("#myCanvas").scaleCanvas({
layer: true,
name: "zoom", // give layer a name so we can easily retrieve it later
x: 0, y: 0,
scale: 1 // set its scale factor to 1
});
그러나이 제대로 작동하기 위해서는, 당신은 다른 모든 레이어 전에이 scaleCanvas
레이어를 생성해야하고 나중에는 scale
속성 레이어를 변경할 수 있습니다.
// Function for setting zoom level of canvas
function zoomCanvas(diff) {
// Update zoom level
$("#myCanvas").setLayer('zoom', {
scale: diff
})
// Redraw canvas
.drawLayers();
}
BTW, 내 예제에서 사용하고있어 scale
속성은 당신에 사용하는 scaleX
및 scaleY
특성을 모두 변경; 편리 성을 위해 단지 scale
속성이 있습니다.
마지막으로 여기에이 모든 것을 구현하는 a working JSFiddle demo이 있습니다.