begin process at 2012 05 26 03:51:10
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ActionScripts

 > COLORIAGE AVEC COLORTRASFORM -FINALE

COLORIAGE AVEC COLORTRASFORM -FINALE


 Information sur la source

Note :
Aucune note
Catégorie :ActionScripts Classé sous :coloriage, imprimer, draw, ColorTransform, print Niveau :Initié Date de création :05/03/2011 Date de mise à jour :08/03/2011 12:03:35 Vu / téléchargé :4 819 / 360

Auteur : yasdar

Ecrire un message privé
Site perso
Commentaire sur cette source (26)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
coloriage
une nouvelle mise à jour cette fois c'est la version finale.
avec l'option print par le code printJob

Source

  • import flash.events.MouseEvent;
  • import flash.events.Event;
  • //imprimer stage
  • function PrintStage(evt:MouseEvent) {
  • var printJob:PrintJob = new PrintJob();
  • var options:PrintJobOptions = new PrintJobOptions();
  • options.printAsBitmap = true;// convertir le stage ne image bitmap avant d'imprimer
  • if (printJob.start()) {
  • var printSprite = new Sprite();
  • var bitmapData:BitmapData = new BitmapData(570,750);//taille
  • bitmapData.draw(stage);
  • var screenShot:Bitmap = new Bitmap(bitmapData);
  • printSprite.addChild(screenShot);
  • printSprite.x = 2000; //creé le bitmap dans un sprite et le placer loin à x=2000 c'est à dire hors scéne
  • stage.addChild(printSprite); //ajouter le sprite dans le stage pour ne pas imprimer une image blanche
  • var myScale:Number;
  • myScale = Math.min(printJob.pageWidth/printSprite.width, printJob.pageHeight/printSprite.height);
  • printSprite.scaleX = printSprite.scaleY = myScale;
  • var printArea:Rectangle = new Rectangle(0, 0, printJob.pageWidth/myScale, printJob.pageHeight/myScale);
  • printJob.addPage(printSprite,printArea,options);
  • printJob.send();
  • stage.removeChild(printSprite);
  • printSprite = null;
  • }
  • }bb_btn.addEventListener(MouseEvent.CLICK,PrintStage);//bouton de commende d'impression
  • //remplacer la sourie par pinceau
  • Mouse.hide();
  • stage.addEventListener(MouseEvent.MOUSE_MOVE, moveThatMouse);
  • function moveThatMouse(evt:MouseEvent):void {
  • brush_mc.x = stage.mouseX;
  • brush_mc.y = stage.mouseY;
  • evt.updateAfterEvent();
  • }
  • //coloriage au click de tous clip sur stage
  • var myColor:ColorTransform =this.transform.colorTransform;
  • //myColor.color = 0xFFFFFF;
  • this.buttonMode =true;
  • function coloriage (event:MouseEvent):void{
  • event.target.transform.colorTransform = myColor;
  • }this.addEventListener (MouseEvent.CLICK,coloriage);
  • //colorer le bout du pinceau" picker" par la couleur choisi et déplacer avec le pinceau
  • function info(event:Event):void{
  • cactif_mc.transform.colorTransform = myColor;// colorer l'anneau du "couleur actif"
  • picker_mc.transform.colorTransform = myColor;
  • picker_mc.x=brush_mc.x;
  • picker_mc.y=brush_mc.y;
  • }stage.addEventListener (Event.ENTER_FRAME ,info);
  • // choisir une couleur par passage du pinceau sur une couleur donnée
  • function changecolor(event:MouseEvent):void{
  • switch (event.target) {
  • case red_mc :
  • myColor.color = 0x990000;
  • break;
  • case green_mc :
  • myColor.color = 0x00FF00;
  • break;
  • case bl_mc :
  • myColor.color = 0x000099;
  • break;
  • case ja_mc :
  • myColor.color = 0xFFCC00;
  • break;
  • case blc_mc :
  • myColor.color = 0x00FFFF;
  • break;
  • case no_mc :
  • myColor.color = 0x000000;
  • break;
  • case v1_mc :
  • myColor.color = 0xFF9999;
  • break;
  • case v2_mc :
  • myColor.color = 0xCCCC66;
  • break;
  • case v3_mc :
  • myColor.color = 0x0033CC;
  • break;
  • case v4_mc :
  • myColor.color = 0xCC3399;
  • break;
  • case orange_mc :
  • myColor.color = 0xFF6600;
  • break;
  • case v6_mc :
  • myColor.color = 0x003300;
  • break;
  • case pl1 :
  • myColor.color = 0xFFFF00;
  • break;
  • case pl2 :
  • myColor.color = 0xCCFFCC;
  • break;
  • case pl3 :
  • myColor.color = 0x0099FF;
  • break;
  • case pl4 :
  • myColor.color = 0x006666;
  • break;
  • case pl5 :
  • myColor.color = 0x00CC00;
  • break;
  • case pl6 :
  • myColor.color = 0x99FF66;
  • break;
  • case pl7 :
  • myColor.color = 0x999999;
  • break;
  • case pl8 :
  • myColor.color = 0x666666;
  • break;
  • case pl9 :
  • myColor.color = 0xCC3333;
  • break;
  • case pl10 :
  • myColor.color = 0xCC9933;
  • break;
  • case pl11 :
  • myColor.color = 0xCC66FF;
  • break;
  • case gomme :
  • myColor.color = 0xFFFFFF;
  • break;
  • }
  • }stage.addEventListener(MouseEvent.MOUSE_OVER,changecolor);
  • // la gomme
  • function cgomme(event:MouseEvent ):void{
  • this.removeEventListener (MouseEvent.CLICK,coloriage);// pour ne pas colorer la comme par clique
  • }gomme.addEventListener(MouseEvent.MOUSE_OVER,cgomme);
  • bb_btn.addEventListener(MouseEvent.MOUSE_OVER,cgomme);
  • function ngomme(event:MouseEvent ):void{
  • this.addEventListener (MouseEvent.CLICK,coloriage);
  • }gomme.addEventListener(MouseEvent.MOUSE_OUT,ngomme);
  • bb_btn.addEventListener(MouseEvent.MOUSE_OUT,ngomme);
import flash.events.MouseEvent;
import flash.events.Event;

//imprimer stage
function PrintStage(evt:MouseEvent) {
var printJob:PrintJob = new PrintJob();
var options:PrintJobOptions = new PrintJobOptions();
options.printAsBitmap = true;// convertir le stage ne image bitmap avant d'imprimer
if (printJob.start()) {
var printSprite = new Sprite();
var bitmapData:BitmapData = new BitmapData(570,750);//taille
bitmapData.draw(stage);
var screenShot:Bitmap = new Bitmap(bitmapData);
printSprite.addChild(screenShot);
printSprite.x = 2000; //creé le bitmap dans un sprite et le placer loin à x=2000 c'est à dire hors scéne
stage.addChild(printSprite); //ajouter le sprite dans le stage pour ne pas imprimer une image blanche
var myScale:Number;
myScale = Math.min(printJob.pageWidth/printSprite.width, printJob.pageHeight/printSprite.height);
printSprite.scaleX = printSprite.scaleY = myScale;
var printArea:Rectangle = new Rectangle(0, 0, printJob.pageWidth/myScale, printJob.pageHeight/myScale);
printJob.addPage(printSprite,printArea,options);
printJob.send();
stage.removeChild(printSprite);
printSprite = null;
}
}bb_btn.addEventListener(MouseEvent.CLICK,PrintStage);//bouton de commende d'impression



//remplacer la sourie par pinceau
Mouse.hide();
 
stage.addEventListener(MouseEvent.MOUSE_MOVE, moveThatMouse);

function moveThatMouse(evt:MouseEvent):void {
    brush_mc.x = stage.mouseX;
    brush_mc.y = stage.mouseY;
    evt.updateAfterEvent();
}
//coloriage au click de tous clip sur stage
var myColor:ColorTransform =this.transform.colorTransform;
//myColor.color = 0xFFFFFF;
this.buttonMode =true;
function coloriage (event:MouseEvent):void{
event.target.transform.colorTransform = myColor;
}this.addEventListener (MouseEvent.CLICK,coloriage);
//colorer le bout du pinceau" picker" par la couleur choisi et déplacer avec le pinceau
function info(event:Event):void{
cactif_mc.transform.colorTransform = myColor;// colorer l'anneau du "couleur actif"
picker_mc.transform.colorTransform = myColor;
picker_mc.x=brush_mc.x;
picker_mc.y=brush_mc.y;
}stage.addEventListener (Event.ENTER_FRAME ,info);
// choisir une couleur par passage du pinceau sur une couleur donnée
function changecolor(event:MouseEvent):void{
	switch (event.target) {
  case red_mc :
  myColor.color = 0x990000;
   break;
  case green_mc :
   myColor.color = 0x00FF00;
   break;
  case bl_mc :
   myColor.color = 0x000099;
   break;
    case ja_mc :
   myColor.color = 0xFFCC00;
   break;
    case blc_mc :
   myColor.color = 0x00FFFF;
   break;
    case no_mc :
   myColor.color = 0x000000;
   break;
   case v1_mc :
  myColor.color = 0xFF9999;
   break;
  case v2_mc :
   myColor.color = 0xCCCC66;
   break;
  case v3_mc :
   myColor.color = 0x0033CC;
   break;
    case v4_mc :
   myColor.color = 0xCC3399;
   break;
    case orange_mc :
   myColor.color = 0xFF6600;
   break;
    case v6_mc :
   myColor.color = 0x003300;
   break;
    case pl1 :
  myColor.color = 0xFFFF00;
   break;
  case pl2 :
   myColor.color = 0xCCFFCC;
   break;
  case pl3 :
   myColor.color = 0x0099FF;
   break;
    case pl4 :
   myColor.color = 0x006666;
   break;
    case pl5 :
   myColor.color = 0x00CC00;
   break;
    case pl6 :
   myColor.color = 0x99FF66;
   break;
   case pl7 :
  myColor.color = 0x999999;
   break;
  case pl8 :
   myColor.color = 0x666666;
   break;
  case pl9 :
   myColor.color = 0xCC3333;
   break;
    case pl10 :
   myColor.color = 0xCC9933;
   break;
    case pl11 :
   myColor.color = 0xCC66FF;
   break;
    case gomme :
   myColor.color = 0xFFFFFF;
   break;
    
   }
	
}stage.addEventListener(MouseEvent.MOUSE_OVER,changecolor);
// la gomme 
function cgomme(event:MouseEvent ):void{
	this.removeEventListener (MouseEvent.CLICK,coloriage);// pour ne pas colorer la comme par clique
}gomme.addEventListener(MouseEvent.MOUSE_OVER,cgomme);
bb_btn.addEventListener(MouseEvent.MOUSE_OVER,cgomme);
function ngomme(event:MouseEvent ):void{
	this.addEventListener (MouseEvent.CLICK,coloriage);
}gomme.addEventListener(MouseEvent.MOUSE_OUT,ngomme);
bb_btn.addEventListener(MouseEvent.MOUSE_OUT,ngomme);

 Conclusion

j'ai compris que le travaille le plus dure est de découpés l'image en MovieClip et c'est exactement la que j'ai compris que tous les swf de coloriages sur le net ne sont pas bien travaillés car au maximum une image présente entre 8 et 12 partie a colorés alors que dans mon swf on compte plus de 100 détail avec d'autre possibilités mais c'est normale j'ai rester plus de 3 heures  pour découper l'image
AS3 du .fla est simple à comprendre.

merci à TOP30 et  Peg pour BitmapData.floodFill(); c'est très utile.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

06 mars 2011 19:08:29 :
plus de couleurs et d'option ajout du pinceau par simple function et hideMouse. voir le.fla
08 mars 2011 12:03:35 :
voila une version finale

 Sources du même auteur

Source avec Zip LECTURE DE TEXTE "VOICE"
Source avec Zip ZOOM SUR UNE IMAGE
Source avec Zip Source avec une capture UN PEU DE MATH
Source avec Zip Source avec une capture PARTICULE SYSTEM
Source avec Zip Source avec une capture GALLERIE PHOTO AVEC XML

 Sources de la même categorie

Source avec Zip Source avec une capture OUVRIR UNE ANIMATION EXTERNE DANS UN CLIP VIDE. par KcHeY
Source avec Zip ZOOM SUR UNE IMAGE par yasdar
Source avec Zip Source avec une capture UN PEU DE MATH par yasdar
Source avec Zip Source avec une capture PARTICULE SYSTEM par yasdar
Source avec Zip Source avec une capture GALLERIE PHOTO AVEC XML par yasdar

 Sources en rapport avec celle ci

Source avec Zip COLOR DRAW par Orange73

Commentaires et avis

Commentaire de metis15 le 06/03/2011 11:39:41

Marche pas chez moi.
Firefox 3.6.13
(pas de pinceau)

Commentaire de yasdar le 06/03/2011 12:34:29

mais c'est normal ya pas de pinceau peut être dans une mise a jour prochaine

Commentaire de metis15 le 06/03/2011 12:41:29

OK, mais on peint comment donc ?
Je clique une couleur mais rien en se passe...(;o))

Commentaire de yasdar le 06/03/2011 15:41:24

le swf n'est pas complet seul le haut de l'image et les yeux on peut colorer
tu choisis une couleur et tu clique sur le dessin (commencer par le haut).

bon bientôt j'envoie un swf complet avec un pinceau et un gomme et plus de couleurs
patience ......... j'actionscripte maintenant.

Commentaire de metis15 le 06/03/2011 17:34:32

OK(;o))

Commentaire de yasdar le 06/03/2011 17:59:38

aller voir la dernière mise à jour
http://edu.college.free.fr/colortransform.html
sur chrome si le swf ne s'affiche actualiser la page et attendre 4 seconde

Commentaire de metis15 le 06/03/2011 18:08:40

Je ne connais pas grand chose au code, donc je respecte le travail.
Mais je crois qu'on s'attend à mieux...
En particulier, on aimerait une vraie propriété de coloriage, comme avec des feutres, même limité à des cases, sans débordement... Mais au moins, que ça dépose de la couleur sous le passage du pointeur, pourquoi pas ?

Commentaire de yasdar le 07/03/2011 12:40:49

vos commentaires svp et surtout vos remarques et prépositions

Commentaire de pegase31 le 07/03/2011 15:27:07 administrateur CS

Effectivement, je ne vois plus trop l'intérêt de découper une image en dizaines de clips alors qu'il existe des fonctionne permettant de faire du dessin directement "comme à la main".

J'imagine le boulot que ça doit être juste pour ajouter un simple dessin ... impensable !

(Et je n'ai pas regardé le code, pas le temps)

Peg'

Commentaire de top30 le 07/03/2011 16:52:29

BitmapData.floodFill();
No comments !!!

Commentaire de yasdar le 07/03/2011 18:34:33

BitmapData.floodFill(); c'est du coloriage libre et non assisté

Commentaire de pegase31 le 07/03/2011 18:39:01 administrateur CS

Même si cette fonction modifie le bitmap au niveau du pixel sans prendre en compte les lissages, ça reste fonctionnel et donnerait un résultat proche du tiens sans devoir se taper tout ces clips à découper et reproduire.

Avec 2 images (un png de masque de forme et un jpg transformé en alpha sous flash) ce serait tout à fait possible avec un minimum de travail en amont.

Penche-toi sur la question, mais il faut d'abord que tu t'intéresse à la classe Bitmap.

Peg'

Commentaire de yasdar le 07/03/2011 20:38:50

ok Peg merci

Commentaire de top30 le 07/03/2011 20:38:59

Et ta source, c'est quoi, du coloriage prisonnier et assisté ?

Commentaire de pegase31 le 07/03/2011 20:58:29 administrateur CS

Ne sois pas agressif, Top, il ne peut pas tout connaitre. Sois un sage et montre la voie aux ignorants ... :p

Peg'

Commentaire de top30 le 07/03/2011 21:20:32

Je suis pas agressif...
Du moins pas dans l'intention. Mais j'aimerai bien qu'il m'explique ce qu'il entend part
"BitmapData.floodFill(); c'est du coloriage libre et non assisté" ???

Il passe plus de 3 heure pour ne même pas finir son premier dessin, tu lui offres une possible solution et en plus il trouve moyen de la rejetée. C'est fort ! Il ne demande pas plus d'explication, il rejette ! En tout cas, c'est vrai, on va le soigner car les 3 dernières sources sont de lui !

Alors courage Yadsar...

Commentaire de yasdar le 07/03/2011 21:35:48

merci TOP30
merci Peg
j'aime bien vos commentaires qui m'encourage.
à vous l'honneur avec BitmapData.floodFill();

prochainement une mise à jour finale de mon swf coloriage avec l'option Print.

Commentaire de yasdar le 07/03/2011 21:49:36

mes amis les experts , je suis débutant alors      be cool.

Commentaire de yasdar le 08/03/2011 12:07:56

remarque très importante pour que imprimer fonctionne c'est a partir du coloriage.html

Commentaire de pegase31 le 08/03/2011 12:33:16 administrateur CS

En toute franchise, combien de temps as-tu passé sur la reconstruction de l'image à base de clips (dont tu as oublié la bestiole dans la loupe) ?

Commentaire de yasdar le 08/03/2011 13:21:01

3 heures pour 100 clips de précision
mais on peut se limiter à 15 clips la plus part des coloriages sur le net ne dépassent pas les 15 clips donc si on fait le compte = 35 min

ton avis à propos du printjob !

Commentaire de pegase31 le 08/03/2011 13:26:22 administrateur CS

Techniquement, ça devrait pouvoir te prendre 15 minutes avec la technique du floodfill et photoshop.
Je ne peux pas tester le printjob, n'ayant pas d'imprimante.

peg'

Commentaire de yasdar le 08/03/2011 13:39:16

tester le printjob avec adobe pdf

Commentaire de top30 le 08/03/2011 23:55:38

Sérieux, y a juste à lire l'aide flash pour comprendre comment fonction "foodFill()".
Et aprés c'est 30min pour faire une base programme sympa.
Tes seuls vrais soucis à résoudre avec "floodFill()", c'est ne pas peindre le noir (ca c'est facile) remplire le contoeur (mais ca ca dépend du dessin!)...

Allez courage, en plus tu seras seras fier de toi !!!

Commentaire de yasdar le 09/03/2011 12:08:29

ok merci TOP30 mon prochain coloriage sera avec floodFill()

Commentaire de nabuco57 le 05/06/2011 18:25:07

Super mais ça demande du travail de décomposition trop important pour s'ateler à d'autres images.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Flash et l'action "print();" (imprimer une page web en cour) [ par SiseraVaincu ] Bonjour a tous,Fonctionnement:   J'ai mis en place un site web en asp.   Mon site utilise une "default.htm" conçut AS2 comment bien rédiger une fonction impression / print pour imprimer la frame active d'un clip loadé ? [ par superchinois69 ] BonjourIl a beaucoup de sources concernant les fonctions d'impressionmais je ne trouve pas précisément le code qu'il me faudrait ...Si quelqu'un peut le print et #p !!! [ par steed12 ] Bonjour a tous, j'ai un petit souci avec une annimation et plus particulièrement la version imprimable. J' ai fait 3 boutons qui servent à i coloriage [ par alirec ] alirec Bonjour à tous, Je dois faire un site en flash pour les enfants, dedans il doit y avoir du coloriage, les enfants pourrons colorier eux imprimer [ par sachaaa ] bonjour Je refais mon site et j'aimerais mettre mon CV et fait un bouton : pour imprimer et j'aimerais quand on click sur ce bouton juste imprimer o Changement de couleur d'un clip [ par forlent ] Bonjour, voila je travail sur une barre de menu et que le clip change de couleur lors du passage de la souris dessus voici mon code : [code=as]impor AS3 Problème Changement de couleur d'un bouton [ par AcarnanDragoon ] Bonjour bonjour, Voila mon souci. J'ai une carte de France ou chaque département est un bouton. Pour chacun de ces boutons lorsqu'on le survol la co colorTransform Sous MOzilla fireFox [ par Cookies91 ] Bonjour, Voilà je suis actuellement en pleine création de site full flash et j'ai un menu avec different bouton liens comme Accueil, Equipe, Prestati Survol d'une carte et changement de couleur [ par Skangell71 ] Bonjour à tous, Je travaille actuellement sur un projet flash, et je dois réaliser une carte interactive. Avant de vous demander de l'aide, j'ai cr


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,326 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales