Le greffon Image propose les mêmes fonctionnalités que l'espèce Graphique.
Il ajoute des fonctionnalités manquantes à l'espèce Graphique comme :
- la possibilité de demander à l'utilisateur de sélectionner l'image depuis le disque,
- extraction de la largeur de l'image,
- extraction de la hauteur de l'image.
- possibilité de coller l'image présente dans le presse-papier
- possibilité d'enregistrer l'image (à améliorer)
- possibilité de récupérer le code couleur d'un pixel de l'image
[php]
Greffon Image :
Principal :
Actions :
~greffon 1 image 0.8 "http://abaque.googlecode.com/files/Image.zgl"
Va vers traitement
Traitement :
Rôles :
d :: image, x vaut 230, y vaut 322, transparence vaut 90, taille vaut 20
e :: toile, couleur vaut "bleu"
Actions :
efface la toile
projette d&e
évoque d.sélectionneretouvrir()
("Il faut attendre que l'image soit chargée :")
attends .5 seconde
affiche "Chemin de l'image : " + image@d
affiche "Largeur de l'image : " + d.largeur()
affiche "Hauteur de l'image : " + d.hauteur()
tant que vrai, lis
tourne à droite d de 1
attends 0.01 seconde
ferme
[/php]
Ce deuxième exemple affiche des sprites qui ont été extraits d'une image contenant une collection de sprites :
(l'image everything.png est disponible [url=ici][/url])
[php]
Sprites :
grands rôles :
positions_bomberman :: casier de nombre <
- 8, 32, 56, 80, 104, 128, 152, 176, 200, 224, 248, 272, 296, 320, 344, 368, 392
Principal :
Actions :
~greffon 1 image 0.8 "http://abaque.googlecode.com/files/Image.zgl"
Va vers traitement
Traitement :
Rôles :
§map :: image, image vaut "everything.png"
§sprites :: casier de image vide
Actions :
efface la toile
pour chaque 8, lis
ajoute #map dans sprites
dy@(sprites{joker}) vaut 8
dy@(sprites{joker}) vaut 10 + 32*joker
y@(sprites{joker}) vaut hasard(400) + 20
x@(sprites{joker}) vaut hasard(400) + 20
hauteur@(sprites{joker}) vaut 23
largeur@(sprites{joker}) vaut 18
attache habillage à sprites{joker}
ferme
pour chaque sprites, projette joker
tant que vrai, lis
("On boucle sur les 17 positions possibles :")
pour chaque 17, lis
§index <
- joker
pour chaque sprites, lis
évoque joker.habillage(index)
ferme
attends 200 millisecondes
ferme
ferme
Habillage :
Rôles :
*moi :: image
*numéro :: nombre
Actions :
dx@moi vaut positions_bomberman{numéro}
retourne vrai
[/php]
Ce troisième exemple récupère une image de presse papier et l'enregistre :
[php]
Copier/Coller de la toile dans une image :
Principal :
Actions :
~greffon 1 image 0.8 "http://abaque.googlecode.com/files/Image.zgl"
va vers traitement
Traitement :
Rôles :
source :: image, x vaut 0, y vaut 0, transparence vaut 90, taille vaut 1, angle vaut 0
toile :: toile, couleur vaut "bleu"
presse :: pressepapier
Actions :
efface la toile
projette source & toile
évoque source.coller()
évoque source.sélectionneretenregistrer()
[/php]
Ce n'est que le début. D'autres fonctionnalités sont prévues comme :
- gestion du presse papier,
- effets comme : négatif, éclaircir, foncer.
- etc etc.
Le greffon peut-être téléchargé manuellement ici : http://abaque.googlecode.com/files/Image.zgl
Il ajoute des fonctionnalités manquantes à l'espèce Graphique comme :
- la possibilité de demander à l'utilisateur de sélectionner l'image depuis le disque,
- extraction de la largeur de l'image,
- extraction de la hauteur de l'image.
- possibilité de coller l'image présente dans le presse-papier
- possibilité d'enregistrer l'image (à améliorer)
- possibilité de récupérer le code couleur d'un pixel de l'image
[php]
Greffon Image :
Principal :
Actions :
~greffon 1 image 0.8 "http://abaque.googlecode.com/files/Image.zgl"
Va vers traitement
Traitement :
Rôles :
d :: image, x vaut 230, y vaut 322, transparence vaut 90, taille vaut 20
e :: toile, couleur vaut "bleu"
Actions :
efface la toile
projette d&e
évoque d.sélectionneretouvrir()
("Il faut attendre que l'image soit chargée :")
attends .5 seconde
affiche "Chemin de l'image : " + image@d
affiche "Largeur de l'image : " + d.largeur()
affiche "Hauteur de l'image : " + d.hauteur()
tant que vrai, lis
tourne à droite d de 1
attends 0.01 seconde
ferme
[/php]
Ce deuxième exemple affiche des sprites qui ont été extraits d'une image contenant une collection de sprites :
(l'image everything.png est disponible [url=ici][/url])
[php]
Sprites :
grands rôles :
positions_bomberman :: casier de nombre <
- 8, 32, 56, 80, 104, 128, 152, 176, 200, 224, 248, 272, 296, 320, 344, 368, 392
Principal :
Actions :
~greffon 1 image 0.8 "http://abaque.googlecode.com/files/Image.zgl"
Va vers traitement
Traitement :
Rôles :
§map :: image, image vaut "everything.png"
§sprites :: casier de image vide
Actions :
efface la toile
pour chaque 8, lis
ajoute #map dans sprites
dy@(sprites{joker}) vaut 8
dy@(sprites{joker}) vaut 10 + 32*joker
y@(sprites{joker}) vaut hasard(400) + 20
x@(sprites{joker}) vaut hasard(400) + 20
hauteur@(sprites{joker}) vaut 23
largeur@(sprites{joker}) vaut 18
attache habillage à sprites{joker}
ferme
pour chaque sprites, projette joker
tant que vrai, lis
("On boucle sur les 17 positions possibles :")
pour chaque 17, lis
§index <
- joker
pour chaque sprites, lis
évoque joker.habillage(index)
ferme
attends 200 millisecondes
ferme
ferme
Habillage :
Rôles :
*moi :: image
*numéro :: nombre
Actions :
dx@moi vaut positions_bomberman{numéro}
retourne vrai
[/php]
Ce troisième exemple récupère une image de presse papier et l'enregistre :
[php]
Copier/Coller de la toile dans une image :
Principal :
Actions :
~greffon 1 image 0.8 "http://abaque.googlecode.com/files/Image.zgl"
va vers traitement
Traitement :
Rôles :
source :: image, x vaut 0, y vaut 0, transparence vaut 90, taille vaut 1, angle vaut 0
toile :: toile, couleur vaut "bleu"
presse :: pressepapier
Actions :
efface la toile
projette source & toile
évoque source.coller()
évoque source.sélectionneretenregistrer()
[/php]
Ce n'est que le début. D'autres fonctionnalités sont prévues comme :
- gestion du presse papier,
- effets comme : négatif, éclaircir, foncer.
- etc etc.
Le greffon peut-être téléchargé manuellement ici : http://abaque.googlecode.com/files/Image.zgl