Перекошенное преобразование HTML5 canvas - PullRequest
4 голосов
/ 02 апреля 2012

Я пытаюсь реализовать наклонное преобразование, используя ось "x" с холстом HTML5, но мой код не работает ... Вот мой 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 Ответ

7 голосов
/ 02 апреля 2012

Правильная матрица перекоса только в одном направлении:

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

Если число в ^ равно 1, вы наклоните изображение в направлении y на 45° также.

Образец: http://jsbin.com/etecay/edit#html,live

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...