Я написал это приложение webRTC, которое делает фотографии с различными фильтрами, добавленными на него. Когда я нажимаю кнопку клика, рамка из видеоролика webRTC загружается на холст с правой стороны.Как загрузить изображение на холсте HTML5?
HTML код -
<video id="vid" autoplay="true"></video>
<canvas id="cvs"></canvas>
<button id="btn1" onclick="start()">Start</button>
<button id="btn2" onclick="change()">Change Filter</button>
<button id="btn3" onclick="snap()" ng-click="random()">Click</button>
Функция я написал, чтобы сделать снимок на холсте после добавления фильтра выглядит следующим образом
function snap()
{
canvas.className = '';
if (findex != 0)
canvas.classList.add(filters[findex]);
canvas.getContext("2d").drawImage(video, 0, 0, canvas.width, canvas.height);
}
Как может Я разрешаю пользователю загружать изображение на компьютер с холста с фильтрами после щелчка фотографии ed?
Вы можете сделать это с помощью метода '.toDataURL()' в элементе 'canvas', используя тег' a'. Вот пример (не мой): http://jsfiddle.net/AbdiasSoftware/7PRNN/ –
@SpencerWieczorek Это не позволяет загружать изображение с холста после того, как эффект был применен. toDataURL() загружает изображение с холста без эффектов. Как связать фильтры с изображениями перед загрузкой? –
Вам нужно будет применить фильтр непосредственно к элементу 'canvas'. Затем загрузите, этот метод загружает именно то, что находится в контексте холста. –