accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

Re: changement de formes avec shape

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  fr.comp.lang.tcl ] 

Retour : Accueil du site fr comp lang tcl   charte stats de ce groupe


  Sujet:   Re: changement de formes avec shape  
 De: david.co...@gmail.com (david cobac)
 Groupes: fr.comp.lang.tcl
 Organisation: Guest of ProXad - France
 Date: 13. May 2008, 21:45:04
 References: 1 2 3 4
Eric Hassold <hassold@evolane.com> a écrit :
>Essaye en creant une image de taille fixe (par exemple 48x48), qui
>couvre tout le canvas de meme taille, et en utilisant pixane pour
>modifier le contenu de cette image en partant d'un contenu totalement
>transparent, et en y copiant l'image a la taille souhaitee, centree.

Bonsoir Éric,

bon avec tes indications j'arrive bien au résultat sur le centrage :
proc retailleIcone {src {reduc .75}} {

    set icone [pixane create]
    pixane load $icone -file $src

    ## creation icone en taille ::t
    set nvIcone [pixane create]
    pixane resize $nvIcone $::t $::t
    pixane blank $nvIcone
    pixane scale $nvIcone $icone -width $::t -height $::t
    set i [pixcopy $nvIcone]
    pixane delete $nvIcone
    # creation reduction de l'icone
    set nvIcone [pixane create]
    set t [expr {int(.75*$::t)}]
    pixane resize $nvIcone $t $t
    pixane blank $nvIcone
    pixane scale $nvIcone $icone -width $t -height $t
    # creation icone reduite en taille ::t 
    set nnvIcone [pixane create]
    pixane resize $nnvIcone $::t $::t
    pixane blank $nnvIcone
    set d [expr {int((1-$reduc)*$::t/2)}]
    pixane copy $nnvIcone $nvIcone -to $d $d
    set k [pixcopy $nnvIcone]
    #
    pixane delete $nvIcone
    pixane delete $nnvIcone
    pixane delete $icone

    return [list $i $k]
}



>Le
>Enter/Leave sera alors sur une zone constance, et le code sera d'autant
>plus simple que c'est alors la meme image qui sera utilisee pour l'item
>du canvas, en (0,0) ancre NW, et pour le masque du "shape".

Par contre, toujours dans le cas d'une réduction (le problème ne se
posant pas avec un agrandissement), il n'y a pas d'amélioration :
toujours une zone limite qui fait clignoter l'icône entre Enter et
Leave... 


>Et pour le redimensionnement fluide, pixel par pixel, pour un look&feel
>facon dock MacOSX, suffira alors de faire grandir l'image selon la
>distance du pointeur au centre de l'image.

Ah ouais !! subtil ! merci pour l'astuce, mais j'avoue que ce qui me
déplaît dans ce genre de menu c'est sans doute ce qui plaît pour
d'autres : les agrandissements bouge tout le menu, et je trouve (mais
les goûts et les menus...) que ça nuit à la lisibilité du menu, non ?

Merci beaucoup !

David


DateSujet  Auteur
01.01.
o 
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)