vue Simuler un écran de télévision
Kommunauty
Connexion
Inscription

Simuler un écran de télévision


Lucas Messages : 830

Hé, salut toi !

Tout simplement, j'aimerai pouvoir afficher une image (quelle qu'elle soit), et appliquer une sorte de filtre, qui imiterait une vieille télé. Vous savez, le brouillage, les ballayements intempestifs, du bruit. Mais voilà, j'ai beau chercher sur le net (bon pas longtemps, mais hé), je trouve pas un seul algo qui permet de faire ça. Du coup bah, j'en suis réduit à expérimenter (c'est rigolo quand même), mais je me demandais si l'un de vous aurait une idée pour faire ce genre de fantaisie, quelle technique (peu importe le langage) ?

Pour l'instant j'ai juste fait ça, des bandes qui se décalent. Ça marche plutôt bien, mais pas très convaincant…

var cvs = document.getElementById("cvs"),
ctx = cvs.getContext("2d");

var img = new Image();

img.onload = function(){
cvs.width = this.width;
cvs.height = this.height;

run();
};

img.src = "image.png";

function run(){
ctx.drawImage(img, 0, 0);

var t = Math.floor(Math.random() * img.height),
w = Math.floor(Math.random() * img.width) * 4,
h = Math.floor(Math.random() * 30);

for(var i = t; i < t + h && i < img.height; i++){
var s = ctx.getImageData(0, i, img.width, 1).data,
d = ctx.createImageData(img.width, 1);

d.data.set(s.subarray(w), 0);
d.data.set(s.subarray(0, w), img.width * 4 - w);

ctx.putImageData(d, 0, i);
}

setTimeout(run, 1000/60);
}

Edit : Hihihii, bon, alors en fait "télévision" ça colle pas vraiment, plus simuler une transmission d'image numérique. Qui foire.

Voilà, si l'un de vous a une idée…

jeudi 15 aout 2013 (Dernière édition jeudi 15 aout 2013)

Homer Messages : 1925

Dans les vieux films sous vhs, y'avait des point noir qui apparaisait de temps en temps, pareil dans les cinémas

Sa doit pas être trop complexe à faire je pense

Sinon je vois pas, si ce n'est des petits brouillages de temps en temps

jeudi 15 aout 2013

Répondre Pour répondre, tu dois d'abord t'inscrire rapidement sur Kommunauty. Rejoins-nous vite !