Грешка при toDataUrl() функция за canvas


0
Здравейте, имам следния код:
function takepicture() { video = document.getElementById('video'); canvas = document.getElementById('canvas'); canvas.width = "400"; canvas.height = "400"; canvas = canvas.getContext('2d'); canvas.drawImage(video, 0, 0, 400, 400); var data = canvas.toDataURL('image/png'); }
При което ми казва:
TypeError: canvas.toDataURL is not a function
Някаква идея, защо се получава така?

в School Academy от Johnny B Goode (0 точки)


Отговори



2

Грешката ти е в това, че на променливата canvas (в която първоначално държиш canvas-а) присвояваш контекста.. Просто си направи втора променлива за контекста.

function takepicture() {
    video = document.getElementById('video');
    canvas = document.getElementById('canvas');
    canvas.width = "400";
    canvas.height = "400";
    ctx = canvas.getContext('2d');
    ctx.drawImage(video, 0, 0, 400, 400);
    var data = canvas.toDataURL('image/png');
  }


от westi3m (5621 точки)


0
<3333333333333333333333

от Johnny B Goode (0 точки)


0

image/png трябва да ти бъде оградено в кавички, а не в обикновени апострофи. Може би от това дава грешка. Пример като добавка >ЦЪК<


от kalbo_17 (2709 точки)


0
В Javascript ' и " имат едно и също значение и са взаимозаменяеми - само че когато се отваря например с кавички, трябва да се затваря с кавички (т.е. това: 'test" не е валиден код и ще доведе до грешки)

от gallumbits (2371 точки)

0
Аха, ок, значи не е това грешката...

от kalbo_17 (2709 точки)