質問: ctx.getImageData(0, 0, width, height); ctx.setTransform(x, 0, 0, y, 0, 0); ctx.putImageData(ImageData, 0, 0); } ``` zoom関数のxとyを任意に変えて変更しているのですが、うまくいきません。 倍率を変更した後に、`drawImage`などを使用して画像を張り付けてみたら指定した倍率になっていました。 `getImageData`や`putImageData`ではできないのでしょうか? 倍率変更方法は色々あるようですが、今後の作りに合わせて`setTransform`を使いたいです。 なぜうまくできないのでしょうか? 分かる方、アドバイスやご指摘をお願い致します。
回答: canvasのコンテキストのsetTransformを使用するのではなく。 cssのtransformを使用しcanvas自体のサイズを大きくしました。 見える範囲を決め、のoverflow: hiddenを設定する事で実現できました。 ここを参考にしました。