html5 live

21
WOW! HTML5 LIVE!

Upload: sandro-paganotti

Post on 12-May-2015

2.049 views

Category:

Technology


0 download

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

TRANSCRIPT

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