歪斜转换HTML5画布

时间:2012-04-02 19:08:32

标签: javascript canvas transformation skew

我正在尝试使用带有HTML5画布的“x”轴实现倾斜变换,但是我的代码失败了...这是我的JavaScript:

function init() {
    var canvas = document.getElementById('skewTest'),
        context = canvas.getContext('2d'),
        angle = Math.PI / 4;
    img = document.createElement('img');
    img.src = 'img.gif';
    img.onload = function () {
        context.setTransform(1, Math.tan(angle), 1, 1, 0, 0);
        context.clearRect(0, 0, 200, 200);
        context.drawImage(img, 0, 0, 100, 100);
    }
}

如果我在JsFiddle看到工作示例,我会很高兴。

提前谢谢!

1 个答案:

答案 0 :(得分:6)

只有一个方向的正确倾斜矩阵

    context.setTransform(1, Math.tan(angle), 0, 1, 0, 0);
    //                                       ^

^的数字为1时,您也将 y - 方向的图像偏斜45°。

示例:http://jsbin.com/etecay/edit#html,live