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… |