- pas besoin de source, c'est tout simple :
-
- créer un clip avec une image dedans,
- placer le sur la scene principale,
- nommer le photo (nom du clip).
-
- puis insérer ce code dans l'image 1 :
-
- stop();
- //on cré un nouvel objet bitmap de taille 320*240
- //(en ce qui concerne le "true" j'ai pas encore trouver pq il est la.
- bmp_in = new flash.display.BitmapData(320, 240, true);
- //draw est une methode qui ecrit les pixels qu'il voit sur photo dans bmp_in
- bmp_in.draw(photo);
- //ma variable d'increment global pour la hauteur de l'image.
- var y = 0;
- //la fonction qui renvoie le negatif des pixels.
- function negativ() {
- //pour chaque ligne...
- for (var x = 0; x<=320; x++) {
- //... on chope la couleur du pixel sur l'image...
- c = bmp_in.getPixel(x, y);
- //... on calcul sa négation et on la renvoie dans l'image.
- bmp_in.setPixel(x, y, rvb2rgb(0xFFFFFF-c));
- }
- //on rafraichit les pixels, à cet appel, tout les pixels changé dans l'objet bmp_in s'affiche.
- _root.photo.attachBitmap(bmp_in, 1);
- //on incremente la variable global
- y++;
- //si la hauteur en cours dépasse la hauteur de l'image...
- if (y>240) {
- //... on arrete le timer.
- clearInterval(timer);
- }
- }
- //petite fonction qui convertie une valeur rvb : 0xFF0000 pour du rouge
- //en une valeur pour setpixel. (pq set pixel est comme ça? j'en sais rien...
- function rvb2rgb(rvb) {
- //petit calcul bidon...
- return (0xFFFFFF-rvb)*-1;
- }
- //on trace les lignes de pixels de 0 à 240 à interval régulier.
- var timer = setInterval(negativ, 1);
pas besoin de source, c'est tout simple :
créer un clip avec une image dedans,
placer le sur la scene principale,
nommer le photo (nom du clip).
puis insérer ce code dans l'image 1 :
stop();
//on cré un nouvel objet bitmap de taille 320*240
//(en ce qui concerne le "true" j'ai pas encore trouver pq il est la.
bmp_in = new flash.display.BitmapData(320, 240, true);
//draw est une methode qui ecrit les pixels qu'il voit sur photo dans bmp_in
bmp_in.draw(photo);
//ma variable d'increment global pour la hauteur de l'image.
var y = 0;
//la fonction qui renvoie le negatif des pixels.
function negativ() {
//pour chaque ligne...
for (var x = 0; x<=320; x++) {
//... on chope la couleur du pixel sur l'image...
c = bmp_in.getPixel(x, y);
//... on calcul sa négation et on la renvoie dans l'image.
bmp_in.setPixel(x, y, rvb2rgb(0xFFFFFF-c));
}
//on rafraichit les pixels, à cet appel, tout les pixels changé dans l'objet bmp_in s'affiche.
_root.photo.attachBitmap(bmp_in, 1);
//on incremente la variable global
y++;
//si la hauteur en cours dépasse la hauteur de l'image...
if (y>240) {
//... on arrete le timer.
clearInterval(timer);
}
}
//petite fonction qui convertie une valeur rvb : 0xFF0000 pour du rouge
//en une valeur pour setpixel. (pq set pixel est comme ça? j'en sais rien...
function rvb2rgb(rvb) {
//petit calcul bidon...
return (0xFFFFFF-rvb)*-1;
}
//on trace les lignes de pixels de 0 à 240 à interval régulier.
var timer = setInterval(negativ, 1);