WD8 Perte de la transparence d'une icône
Bonjour,
Je récupère des icones dans diverses phases exécutables
Pour ce faire j'utilise le code suivant pour les charger dans une ListeImage
Malheureusement je perd la transparence de fond qui entoure souvent le dessin des icones
et lorsque je restitue l'icone récupérée dans un raccourci généré sur le bureau Windows l'icone du raccourci est toujours carrée avec un fond gris pâle
Y-a-t-il un moyen de conserver cette transparence
J'ai essayé avec une icône au format .gif mais windows ne l'accepte pas et la remplace par une icone par défaut
Cordialement

// code utilisé
BOUCLE
eHandleIcone=API("Shell32","ExtractIconA",eHandleInstance,&szNomFichierEXE,eIndexIcone)
SI eHandleIcone>0 ALORS
sNomFichierBMP = ComplèteRep(fRepExe())+fExtraitChemin(sNomFichierExe, fFichier)+"_"+NumériqueVersChaine(eIndexIcone)+".BMP"
dFinDessin()
eHandleDC=dDébutDessin(sNomChampImage)
API("user32","DrawIcon",eHandleDC,0,0,eHandleIcone)
dSauveImageBMP(sNomChampImage,sNomFichierBMP)
API("user32","DestroyIcon",eHandleIcone)
ListeAjoute(ListeIcones,sNomFichierBMP, sNomFichierBMP)
eIndexIcone++
SINON
SORTIR
FIN
FIN


Contribution le : 19/09/2004 12:45
Créer un fichier PDF de la contribution Imprimer


Re: WD8 Perte de la transparence d'une icône ( precision )
Bonjour,

Après des tests plus poussés je me suis rendu compte qu'en réalité la transparence est perdue parce que le champ image ( sNomChampImage ) est défini avec un fond transparent et que cette transparence est remplacée par la couleur de fond récupérée a travers la transparence du champ image ( en l'occurence c'est la couleur de fond de la fenêtre sur laquelle est le champ image )
( Je sais c'est pas très clair !!! )

Alors ma question est : comment faire pour que la transparence récupérée avec l'icone reste transparence au cours de la sauvegarde par dSauveImageBMP ?
Je comprend bien qu'avec dSauveImageBMP ce doit être insoluble car ...
... si je donne par exemple une couleur de fond blanc au champ image la transparence récupérée est remplacée par la couleur blanc.
... si j'affecte la couleur transparent au fond du champ image la transparence sera remplacée par la couleur de fond de la fenêtre

Y-a-t-il un moyen de récupérer le dessin de l'icône et de la sauver dans un fichier .ICO ou .BMP sans passer par l'intermédiaire du champ image ?

Merci d'avance

Cordialement

Contribution le : 20/09/2004 13:12
Créer un fichier PDF de la contribution Imprimer


Re: WD8 Perte de la transparence d'une icône ( precision )
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Indication, de manière générale la couleur 'transparente' des BMP est le magenta ! Modifier l'image carré par carré ?


Contribution le : 20/09/2004 14:11
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: WD8 Perte de la transparence d'une icône ( precision )
Rappel du problème

Citation :
lorsque je restitue l'icone récupérée dans un raccourci généré sur le bureau Windows l'icone du raccourci est toujours carrée avec un fond gris pâle


Mon but final est de pouvoir générer l'icone récupéree dans un raccourci à placer sur le bureau de Windows et c'est sur le bureau que je veux garder la transparence !

Mon problème n'est pas d'obtenir la transparence dans le champ image dans une fenêtre Windev : çelà bien sûr je l'obtient par le "magenta est transparent" et l'affectation de la transparence dans le style au moment de la desciption du champ

Les actions sont les suivantes :
1) j'extrais l'icone de la phase .EXE ou .DLL
2) je la dessine dans le champ image : mais a ce moment là la transparence est donc remplacée par la couleur du fond existant
3) lorsque j'exécute SauveImageBMP il y a conservation de la couleur du fond existant dans l'icone sauvée et donc perte de la transparence


Ce que je voudrais pouvoir faire c'est de sauver directement l'icone extraite dans le fichier .ICO ou .BMP sans passer par le champ de l'image.


J'ai constaté que ce résultat est bien réalisé par des logiciels de récupération d'icônes et la transparence est bien restituée : je voudrais tout simplement faire celà sans être obligé d'utiliser un de ces logiciels.











Contribution le : 20/09/2004 16:32
Créer un fichier PDF de la contribution Imprimer


Re: WD8 Perte de la transparence d'une icône ( precision )
Utilisateur WDF
Inscrit:
19/05/2004 12:10
De LYON
Post(s): 59
Bonjour,

Je suis loin d'être une experte sur le sujet, mais avez-vous essayé la fonction : dSauveImagePNG ?

D'après l'aide en ligne, cette fonction permet de gérer la transparence, qui, de base, n'est pas gérée par les .BMP.

Bon courage.

Contribution le : 20/09/2004 17:20
Créer un fichier PDF de la contribution Imprimer


Re: WD8 Perte de la transparence d'une icône ( precision )
Bonjour et merci de tenter de m'aider

J'ai essayé les 4 formes de sauvegardes d'une image

Les icones .GIF et .PNG ne sont pas compatibles avec leur insertion dans le raccourci d'une icone du bureau de Windows

De toute façon ce n'est pas la sauvegarde qui est en cause : la fonction SauveImageXxx sauvegarde ce qu'elle trouve c'est à dire des pixels transparents qui ont DEJA été transformés en pixels dont la couleur est celle du fond de la fenêtre

Ce que je cherche c'est le moyen de récupérer directement le dessin original de l'icone et de le sauver sous cette forme et non pas à partir de l'image : mais çelà je ne sais pas si c'est possible

Cordialement


Contribution le : 20/09/2004 17:44
Créer un fichier PDF de la contribution Imprimer


Re: WD8 Perte de la transparence d'une icône ( precision )
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Quid d'en trouver un open source ? et de jeter un oeil dans le contenu ?

Lire un résultat de recherche. évidement il faudra utiliser autre chose qu'un champ image, pourquoi pas un picturebox (microsoft) tout simple en activeX ?

Contribution le : 20/09/2004 17:59
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2