ColorReduction : réduction des couleurs d'un bitmapdata
Le samedi 19 janvier 2008 à 09:00 :: Flash-AS3 :: #37 :: rss :: 3014 lectures
...putain, ça c'est du titre !
ben ouais , je suis revenu à Paris mais ça on s'en fout, juste que maintenant je fais du flash toute la journée. ça empêche un peu de tenir un blog. Disons, qu'après une semaine à 12heures par jour, c'est dur de toruver du temps et de l'énergie pour faire des trucs inconséquents.
alors là c'est une petite classe qui fait un boulot inutile mais pas banal, réduire les couleurs d'une image. ben ouais , juste ça... mais non partez pas ! ça peut servir : quand par exemple on veut travailler un Bitmapdata et faire matcher des couleurs, c'est assez dur de trouver LA couleur qui va correspondre parmi les 16 millions et des bananes que peut contenir une image. donc mon le principe c'est de rabattre ces couleurs sur une échelle palette réduite pour augmenter les chances de matcher .... je me comprends. un exemple valant mieux que de longs discours :
attention : la classe appartient au package net.nicoptere.graphics (hé ouais, je donne dans le package maintenant
)
penser à changer le nom de package.
le principe vite fait: j'indexe 4 tableaux alpha, red, green et blue de 1 à 256 avec un modulo de 'increment' (passé en paramètre).
ensuite je récupère chaque couche du bitmapdata original, je la stocke temporairement dans un bitmapdata, j'y applique une paletteMap(); et ensuite je copie cette couche dans le BitmapData final.
une booléenne 'preserve'(défaut à false) permet de conserver l'original.
alors sinon, je comprends pas trop ce qui se passe à 128 mais je crois que c'est juste une réduction par 2, l'image doit passer à 256 couleurs ou un truc du genre.
si quelqu'un peut m'expliquer, c'est cool.
copains
Commentaires
1. Le samedi 19 janvier 2008 à 14:41, par tlecoz
2. Le dimanche 20 janvier 2008 à 09:15, par jeanphilippe
3. Le dimanche 20 janvier 2008 à 14:51, par nicoptere
4. Le dimanche 20 janvier 2008 à 22:18, par fab
5. Le lundi 21 janvier 2008 à 20:28, par Seraf
6. Le lundi 28 janvier 2008 à 12:56, par Leonerep
7. Le lundi 28 janvier 2008 à 15:03, par nicoptere
8. Le mercredi 13 février 2008 à 12:29, par Durss
9. Le jeudi 13 mars 2008 à 23:00, par yoxinsky
10. Le vendredi 14 mars 2008 à 11:09, par nicoptere
11. Le vendredi 13 juin 2008 à 04:22, par faby
12. Le vendredi 13 juin 2008 à 10:26, par nicoptere
Ajouter un commentaire