CanvasのsetTransformを使用する拡大縮小について
現在JavaScriptを使用しお絵かきソフトを作成しています。
そこで拡大縮小機能を作りたいのですがうまく行きません。
下記コードです
function zoom(x, y)
{
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var width = canvas.width;
var height = canvas.height;
var ImageData = 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
を使いたいです。
なぜうまくできないのでしょうか?
分かる方、アドバイスやご指摘をお願い致します。