Ciao a tutti,

Vorrei sapere come posso cambiare colore ad un immagine png con trasparenze. Quello che voglio fare è tipo cambiare colore dei capelli in un avatar, partendo da un immagine di base (solo i capelli, che poi verranno fusi con il resto). In questo modo non devo avere n immagini per gli n colori.

Per adesso ho fatto questo

codice:
 var image = new Image();
image.src = imgBase64;
var canvas = document.createElement("canvas");
var ctx = canvas.getContext("2d");
 ctx.width = image.width;
 ctx.height = image.height;
 ctx.drawImage(image,0,0);
 ctx.globalCompositeOperation = 'multiply';
 ctx.fillStyle = 'brown';
 ctx.fillRect(0,0,image.width,image.height);
 $('#img').attr("src", canvas.toDataURL("image/png"));
Il problema è che mi colora anche i pixel trasparenti di image. Io vorrei che questi pixel restassero trasparenti.
Come si può fare?

Grazie