Coloriage avec l'objet Surface  
   
  • Surface is a graphical extension that allows you to draw shapes, modify images and plot complex calculations -
    extension graphique qui permet de dessiner des formes, modifier des images et faire des calculs complexes.

    C'est un objet "magique" qui a plein de possibilités, mais pas évident à utiliser..., créé par Looki

    cf. exemples sur le site de
    Anders Riggelsen, http://andersriggelsen.dk/mmf2_examples.php
  • MFA à télécharger, page Jeux MMF2 - MAJ le 27/03/2011

  • 1ère exemple - Je dessine et je colorie - adaptation de l'exemple Simple Paint - Dessiner_colorier.mfa
  • on travaille avec 3 modes : dessiner, colorier, gommer
    pour démarrer en mode dessiner, dans les
    Propriétés de l'application / Valeurs, indiquer dans Chaînes globales : dessiner
    suivant le mode et la position de la souris dans la scène, l'aspect du pointeur de souris change
  • Draw line permet de dessiner
    Flood Fill remplit les espaces délimités par le dessin
    IO / Save to file pour enregistrer le dessin en cours - comme c'est toujours avec le même nom, il faut les renommer au fur et à mesure si on veut garder les dessins
  • en vrac :
  • pour l'épaisseur du trait, j'ai repris le Widget Thickness évoqué dans cette page Thickness
  • pour le choix de couleurs, cf.. l'objet Color Selector - j'aurais pu mettre des actifs / couleurs sans montrer cet objet dans la scène -
  • pour récupérer un dessin, on connaît l'objet Capture Ecran, avec cet inconvénient qu'il ne sauvegarde qu'au format BMP
    avec
    Surface, on a beaucoup plus de choix de formats, dans l'exemple, c'est le format JPG, PNG dans le 2ème exemple

  • 2ème exemple - Je colorie des images - Colorier.mfa
  • on travaille avec 3 modes : colorier, gommer + le choix
    pour démarrer en mode choix, dans les
    Propriétés de l'application / Valeurs, indiquer dans Chaînes globales : choix
  • différence avec le 1er exemple, on attribue une image à Surface dans les Propriétés de Surface / Configuration
    il y a
    Image bank où on peut mettre autant d'images qu'on veut - dans l'exemple, il y a 5 images
    attention - au cas où vous ajouteriez le mode dessiner -, je crois qu'il faut décocher
    Use multiple images, et seule la 1ère image de Image Bank est visible
    inconvénient, les images sont imposées
  • programmation pour Tout effacer, Eviter de colorier ou Gommer les contours noirs et Colorier avec un noir "proche" 0,0,1
  • en vrac :
  • pour charger des images différentes, utilisation de l'objet Liste
  • regarder la ligne 8 : 2 actions quand on choisit une image dans la liste - Set current pour charger l'image + Set editing pour l'éditer, la modifier
  • ligne 37 : cette liste permet de sauvegarder - en gardant son nom - l'image en cours au format PNG

  • 3ème exemple - Je dessine et je colorie des images - Dessiner_colorier_images.mfa
  • un éditeur de dessins à colorier
    Scène 1 : choix
    Editeur ou Coloriage
    Scène 2 :
    Editeur de dessins à colorier ensuite, avec bien sûr sauvegarde des images dans le même répertoire que l'application
    Scène 3 :
    Coloriage en lui-même, avec bien sûr sauvegarde des images
  • en vrac :
  • contrairement au 2ème exemple, les images sont fournies avec l'application et non dans Image Bank - programmation "top" de bibi89 -
  • ce qui vous permet de créer vos propres images, avec quelques contraintes :
    taille 800 * 570, en noir et blanc, 16M, avec des contours noirs bien nets - le filtre Aplatir / Photocopie de
    Photofiltre peut aider -

    mais, gros souci quant au résultat des images sauvegardées / enregistrées :
    dans le
    2ème exemple : l'image était intégrée dans Surface - Configuration Image bank / Images -, l'image coloriée est sauvegardée au format PNG et s'ouvre bien dans un logiciel de graphisme 2D
    alors que dans le
    3ème exemple, pages Dessiner et Colorier : les contours de l'image sauvegardée ne sont plus noirs, mais gris clair ou blanc dans l'aperçu de l'explorer Windows
    ils restent noirs ou sont transparents suivant le logiciel de graphisme - noirs dans
    PhotoFiltre, transparents dans PSP11 -
    je n'ai pas ce souci si je sauvegarde au format
    JPG, mais le format JPG n'est pas le top, ça bave, ou alors, augmenter la tolérance, et encore...
    la solution - de facilité - semble être la sauvegarde au format
    BMP - question posée sur le forum... -
    réponse de
    bibi89 :
    afin que l'image en
    PNG garde ses contours noirs, il suffit de remplacer la couleur transparente avant l'enregistrement (expliqué dans le groupe Sauver)
    inconvénient avec cette programmation - lignes 34 et 48 pages
    Dessiner et Colorier -, on ne peut sauvegarder qu'une fois tant qu'on est dans la même scène
    donc pas possible de sauvegarder d'éventuelles corrections - aussi, je propose 2
    mfa : sauvegarde BMP et sauvegarde PNG -
  • Propriétés de l'application / Valeurs / Chaînes globales / mode dessiner pour démarrer par défaut avec ce mode
    scène colorier : Début de Scène, Changer la chaîne globale / Fixer mode à "colorier" pour démarrer avec ce mode
    sinon, souci pour gérer le pointeur
    grosse flèche verte pour la palette des couleurs, car il n'y a pas de mode dessiner dans cette scène
  • le top est de pouvoir enregistrer et lister ses images en temps réel - utilisation de la boîte d'Edition - encore une astuce de bibi89 -

  • souci pour 2 MFA : truc gênant détecté, la position de l'actif (dessiner, peindre, gommer), loin d'être précis
    l'utilisateur dessine, gomme, peint à partir du milieu de l'objet - pour
    corriger : position mouse x, y => +12, +12
  • tout petit souci : dans le MFA Dessiner_colorier_images.mfa, quand on clique sur Je dessine dans la page d'Accueil,
    le stylo met un point de couleur - sur la page dessiner - à l'endroit où on a cliqué dans la page d'Accueil...
    solution : désactiver le Groupe d'événements coloriage en début de scène - Timer supérieur à 50 centièmes de seconde, Activation groupe d'événements coloriage