2009-08-27 10 views
0

J'essaie de supprimer une couleur d'une image importée (JPG) dans Flash CS4 avec AS2.Supprimer une couleur d'une image bitmap?

J'ai un tas d'images JPG chargées au lancement qui contiennent une couleur (flashy vert 0,255,0) que je veux supprimer afin de voir à travers.

JPG ne supporte pas alpha et je ne pense pas que Flash ajoute une couche alpha au fichier chargé?

Si l'image chargée a une couche alpha que je pourrais définir l'alpha à 0 pour chaque pixel, mais je n'ai aucune idée sur la façon de procéder ...

Est-ce que quelqu'un sait comment? ou simplement si c'est possible? ou une idée sur la façon d'y parvenir?

Thx beaucoup

Répondre

1

Ce que vous devez faire est de charger les données dans un objet BitmapData. Vous faites comme ceci:

var bitmapData:BitmapData = new BitmapData(image._width, image._height, true); 
bitmapData.draw(image); 

Ensuite, vous devez utiliser la méthode de seuil pour échanger le vert pour une autre couleur. C'est une méthode très puissante, bien qu'un peu difficile à utiliser.

bitmapData = bitmapData.threshold(bitmapData, new Rectangle(0, 0, image._width, image._height), new Point(0, 0), "==", 0x00CCCCCC, 0x000000FF, 0x00FF0000, false); 

Enfin, vous allez peindre le BitmapData dans un objet Bitmap que vous souhaitez afficher.

Questions connexes