wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 1
Pub hébergeur
Pourquoi cette pub ?

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» Icône pixélisé
Conversation : Icône pixélisé
27-07-2011 15:22:21  Icône pixélisé #1
starmate (Membre)
Inscrit le : 28-06-2011
Messages: 23
Snippets: 1
Tutoriels: 0
Hors ligne
Bonjour à tous,

Je reviens vers vous pour vous soumettre mon problème et pourquoi pas trouver une solution.

Petite explication rapide. Je suis sous Windows 7, et mon compilateur est VC++ Express 2008.
J'ai créé une application et celle-ci doit charger une icône, jusque là pas de problème.

Dans mon fichier rc, je fais :

Code wxWidgets:

appicon ICON "resources/appicon.ico"

Puis dans mon code j'ai :

Code wxWidgets:

SetIcon(wxICON(appicon));


Ce que je n'arrive pas à comprendre c'est la raison pour laquelle mon icône est pixélisé dans la barre des tâches de windows.

Voici un test que j'ai fait avec une icône bien connu ;)
http://img843.imageshack.us/img843/9755/tempicon.png

A gauche l'application réelle et à droite la mienne.

Si quelqu'un à une idée, je suis preneur, car là j'avoue ne rien comprendre.

Merci d'avance,

Jon
28-07-2011 11:36:27  Re: Icône pixélisé #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1367
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut.

C'est effectivement bizarre : en regardant dans les sources de FileZilla, il n'y a pas de fichier (icône ou png) ayant les bords "anti-aliasés" comme celle de gauche sur ta capture.

En plus, je ne peux même pas reproduire ce genre de truc : chez-moi, c'est l'icône 32x32 qui est affichée "telle-quelle" alors que sur ta capture, la partie "rouge" fait 40x40 => il y a donc eut redimensionnement.
Peut-être que pour l'application d'origine, c'est l'icône 32x32 qui est agrandie alors que pour ton application, c'est la version "48x48" qui est réduite (ça expliquerait l'anti-aliasing et la différence).
Essayes de prendre le fichier ".ico" oririnal et de virer la version "48x48" qu'il contient, pour voir.

En tout cas, j'ai regardé les sources de FileZilla, et il n'y a qu'un vulgaire "SetIcon(wxICON(appicon));".

Tiens-nous au courant si tu trouves une autre explication.

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
28-07-2011 12:06:34  Re: Icône pixélisé #3
starmate (Membre)
Inscrit le : 28-06-2011
Messages: 23
Snippets: 1
Tutoriels: 0
Hors ligne
Merci pour cette réponse Xaviou,

En fait, j'ai bien essayé avec des tailles différentes (taille unique dans le fichier ico). En gros je suis passé du 64x64, au 48x48, etc. mais rien n'y fait. J'ai toujours le même problème incompréhensible.

Ce que je trouve vraiment étrange, c'est que si je compile l'application une première fois et que je commente par la suite :

Code wxWidgets:

//SetIcon(wxICON(appicon));

... l'icône apparaît correctement lorsque je clic sur l'icône "start débugging" de VC++. Bon forcement je n'ai plus d'icône dans la barre de titre de l'application, mais tout ça pour dire que ce problème m'échappe complètement.

Je me suis même demandé si ça ne venait pas de mon compilateur, mais je suis encore un peu nul dans les compilations en ligne de commande, etc, pour tester avec gcc. Donc pour le moment je laisse de coté ce problème :s. J'ai pas assez de temps :s

Merci encore,

Jon
28-07-2011 12:23:57  Re: Icône pixélisé #4
starmate (Membre)
Inscrit le : 28-06-2011
Messages: 23
Snippets: 1
Tutoriels: 0
Hors ligne
Bon je reviens rapidement pour dire que j'ai trouvé une solution à mon problème. Je ne sais pas si je suis le seul à avoir ce type de problème, mais en faisant ceci :

Code wxWidgets:

SetIcon(wxIcon("appicon",wxICON_DEFAULT_TYPE,48,48));

... tout rentre dans l'ordre.

Je ne sais pas vraiment pourquoi ça se passe comme ça, mais merci Xaviou de m'avoir dit qu'il pourrait s'agir d'un problème de taille. Du coup, j'ai trouvé cette solution en précisant 48 en width et height.

@+

Jon
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» Icône pixélisé