Ajax HTML 5 JavaScript Création site CMS Comment Design Logiciels Programmation RSS SQL Scripts Mobiles
Forum
TUTORIEL CANVAS
Premiers pas
Tracer une ligne
Dessiner un rectangle
Coin arrondis
Cercle et secteurs
Phylactère
OUTILS EN LIGNE
Logo Maker
Diagramme circulaire
HTML 5
Introduction
Formulaire
WebM
JavaScript


Effet de transparence dans Canvas

Comment appliquer un filtre de transparence en modifiant le canal alpha.

Démonstration

Canvas Cette démo requiert un navigateur moderne.

Niveau d'opacité (0=transparent, 255=opaque)

Code source

function dispImage() 
{
  var level = document.getElementById("level").value;
  var canvas = document.getElementById("canvas1");
  var context = canvas.getContext("2d");
  var image = new Image();
  image.src = "http://www.scriptol.fr/design/images/infinite-oz.jpg";

  context.drawImage(image, 0, 0, 562, 350);    
  var ipic = context.getImageData(0, 0, 562, 350);
  var idata = ipic.data;
  for (var i = 0; i < idata.length; i += 4) 
  {
    idata[i+3] = level;
  }
  context.putImageData(ipic, 0, 0);
}

Explications...

Une image est chargée en mémoire lorsqu'on l'assigne à l'attribut src d'un objet image nouvellement créé.
La méthode drawImage affiche l'image dans le canevas.

La méthode getImageData crée un tableau des composantes de couleurs RVBA (rouge, vert, bleu, alpha=opacité) de chaque pixel.

Le canal alpha est modifié pour chaque pixel. C'est le quatrième octet de chaque pixel dans le tableau.

La méthode putImageData place l'image modifiée à travers ce tableau, dans le canevas.

Tweet
© 2011-2012 Scriptol.fr