21
WOW! HTML5 LIVE!

HTML5 Live

Embed Size (px)

DESCRIPTION

HTML5 CI SIAMO!6 demo in 30 minuti ricchi di azione! Una panoramica di impatto sugli aspetti più divertenti della specifica, tutti da mettere in pratica

Citation preview

Page 2: HTML5 Live

VIDEO + CANVASCAPITOLO PRIMO

★ ★ ★ ★ ☆Production Ready

Page 3: HTML5 Live

void drawImage(in HTMLVideoElement image, in double dx, in double dy, in optional double dw, in double dh);

void drawImage(in HTMLVideoElement image, in double sx, in double sy, in double sw, in double sh, in double dx, in double dy, in double dw, in double dh);

Page 5: HTML5 Live

UN’EVOLUZIONECAPITOLO PRIMO

disegnaCanvas = function(video, context){ if(video.paused || video.ended) return false; context.drawImage(video,0,0); context.drawImage(video, 125, 98, 200, 60, 0 , 98, 450, 108 ); setTimeout(function(){disegnaCanvas(video, context)},0); }

Page 7: HTML5 Live

VIDEO + CANVAS + CANVAS

CAPITOLO SECONDO

★ ★ ★ ★ ☆Production Ready

Page 9: HTML5 Live

VIDEO

CANVAS(NASCOSTO)

CANVAS

drawImage

getImageData

putImageData

Page 10: HTML5 Live

decomposizioneColori = function(video, context, context_nascosto, colori){ if(video.paused || video.ended) return false; context_nascosto.drawImage(video,0,0); var fotogramma = context_nascosto.getImageData(0,0, context_nascosto.canvas.width,context_nascosto.canvas.height); var fotogramma_data = fotogramma.data; var rosso = colori.rosso.checked; var verde = colori.verde.checked; var blu = colori.blu.checked; for(var i=0; i < fotogramma_data.length; i+=4){ if (!rosso) fotogramma_data[i ] = 0; if (!verde) fotogramma_data[i+1] = 0; if (!blu ) fotogramma_data[i+2] = 0; } fotogramma.data = fotogramma_data; context.putImageData(fotogramma,0,0); setTimeout(function(){ decomposizioneColori(video, context, context_nascosto, colori) },0); }

for(var i=0; i < fotogramma_data.length; i+=4){ if (!rosso) fotogramma_data[i ] = 0; if (!verde) fotogramma_data[i+1] = 0; if (!blu ) fotogramma_data[i+2] = 0;}

Page 14: HTML5 Live

CANVAS + WEBSTORAGE

CAPITOLO TERZO

★ ★ ★ ★ ☆Production Ready

Page 15: HTML5 Live

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAADICAYAAACZBDir

AAAgAElEQVR4Aey9B5yl2VmfeW7dyqmrK...

canvas.toDataURL(...)

localStorage.setItem(...)

WEBSTORAGE

Page 16: HTML5 Live

salvaImmagine = function(evento){ var canvas = document.querySelector('canvas'); localStorage.setItem('screenshot_' + localStorage.length, canvas.toDataURL() );}

caricaLaGallery = function(evento){ for(var x = 0; x < localStorage.length; x++) document.querySelector('div.screen_shots' ).insertAdjacentHTML('afterBegin', "<img src='" + localStorage.getItem(localStorage.key(x)) + "'>" );}

Page 18: HTML5 Live

SHARED WEBWORKERS

CAPITOLO QUARTO

★ ★ ☆ ☆ ☆

Tratta dal progetto guida