ulis. Une map c'est la lumière d'une image. A chaque point de l'image correspond un indice de luminosité dans la map.
Avec une map on peut faire une myriade d'images en variant la luminosité, la largeur, la hauteur, la couleur d'arrière-plan ou la couleur d'avant-plan.
Pour faire une map il faut un éditeur de texte et de l'imagination. Ou une image existante dont on extrait la map.
Les images issues d'une map sont idéales pour des objets de forme géométrique comme les boutons.
Pourquoi
C'est Richard Suchenwirth qui, avec son strinmj, m'a inspiré ce nouvel outil.
Description
set map \
{
0f
0bbaa9999998888780
bdedccbbbbaaa99877
beedcccbbbbaaa9876
adddccbbb0aa999886
acdccbbafff9888886
acccbbaaafff888886
9bcbbbaa99fff88886
9bbbbaaa998fff8886
9abffffffffffff886
9aaffffffffffff886
8aaaaaaaa99fff8876
899aaaaaa9fff88876
7899aaaaafff988776
78999999fff9988776
78889999bf98887765
678888888888877765
767777777777776666
075566666666665570
}Une map est une liste qui comprend autant de lignes qu'il y a de lignes dans l'image correspondante. Chaque ligne contenant autant de caractère qu'il y a de points dans les lignes de l'image. Chaque caractère est un chiffre hexadécimal caractérisant l'indice de luminosité du point.
Une ligne supplémentaire, la première, contient un chiffre hexadécimal correspondant à la luminosité des points transparents et un chiffre hexadécimal correspondant à la couleur d'avant-plan. Le second chiffre peut être omis, la ligne peut être vide, mais elle ne peut être supprimée.
Pour faire une image,
Opérations
Démo
# demo
package require Tk
set map \
{
0f
0bbaa9999998888780
bdedccbbbbaaa99877
beedcccbbbbaaa9876
adddccbbb0aa999886
acdccbbafff9888886
acccbbaaafff888886
9bcbbbaa99fff88886
9bbbbaaa998fff8886
9abffffffffffff886
9aaffffffffffff886
8aaaaaaaa99fff8876
899aaaaaa9fff88876
7899aaaaafff988776
78999999fff9988776
78889999bf98887765
678888888888877765
767777777777776666
075566666666665570
}
# make colored buttons from the map
wm title . map
. config -padx 10 -pady 10
foreach color \
{white gray red green yellow blue orange cyan} \
{
button .$color -bd 1 -relief flat \
-width 15 -height 15 -padx 0 -pady 0 \
-image [map2img $map $color gray85]
pack .$color -side left
}
focus -force .Voir aussi
Discussion
ulis : Je verrais bien une Bourse aux maps où chacun proposerait ses maps les plus réussies et viendrait faire son marché.
Catégorie Exemple | Catégorie Traitement d'image