The forum

extraction des icones des .exe

Author Replies
ktulu77 Friday 2 May 2008 at 23:06
ktulu77Anonymous

bonjour.
voilà ce que j'ai trouvé sur jeuxlinux.net :

Extraire les icônes des programmes

Si vous souhaitez créer un lanceur, peut être aimeriez vous y associer l’icône du programme. Maintenant ils sont souvent dans les exécutables alors il va falloir les extraire.
Pour ça il faut installer le paquet icoutils. Ensuite utilisez la commande : wrestool -x --output=<chemin> -t14 <executable>

Ca pourrait être pas mal pour récupérer les icones des applications parce que la, il faut passer par le site de POL, demander à l'admin de rajouter l'icone sur le site etc, c'est très lourd alors qu'on peut trouver les icones en local.

En espèrant que cela vous donne des idées.
Quentin PÂRIS Friday 2 May 2008 at 23:40
Quentin PÂRIS
Admin

Pas con mais galère à implémenter
ktulu77 Saturday 3 May 2008 at 11:26
ktulu77Anonymous

j'ai essayé d'implémenter ca.
Si pol ne trouve pas d'icone en ligne alors il essaie d'extraire l'icone du .Exe.
Code modifié dans lib/games
Ca marche presque, le problème est que le fichier généré par wrestool n'est pas reconnu par convert. Pourtant, ça à bien l'air d'être un .png il y a de la transparence dans l'image générée.

Biensur, il faut avoir icoutils d'installé, mais à mon avis, ca doit pas être dur de l'incorporer dans POL.

Binaire="$3"
     SpecialArg="$7"
     export ICON_CREATED="1"

     cd $REPERTOIRE/icones
     if [ ! "$OFFLINE" = "1" ]
     then
          if [ ! -e "$ICONE_" ]
          then
               wget $SITE/icones/$ICONE_
               export ICON_CREATED=$?

          fi
     fi

     # extraction a partir du .exe
     if [ ! $ICON_CREATED = "0" ]
     then
          echo "extracting \"$REPERTOIRE/wineprefix/$1/drive_c/$2/$3\" to \"$1.png\""
          wrestool -x --output="$1.png" -t14 "$REPERTOIRE/wineprefix/$1/drive_c/$2/$3"
          if [ ! $? = "0" ]
          then
               echo "cannot extract icon"
               rm -f "$1.png"
          else
               ICONE_="$1.png"
          fi
     fi
     


     if [ "$ICONE_" != "playonlinux.png" ]
     then
          convert -resize 32 "$ICONE_" "32/$NOMICONE_" # On fabrique l'icone
     fi
Quentin PÂRIS Saturday 3 May 2008 at 12:10
Quentin PÂRIS
Admin

Ouai je vais mettre ça en attente pour le moment...
BeberKing Sunday 4 May 2008 at 11:44
BeberKing

A noter que une Wine extrait aussi des icônes au format .xpm, celles du menu démarrer. Chez moi il les place dans ~/.local/share/icons

Edited by BeberKing