Question

Je joue avec une petite application générée générée par le MFC-Wizard, dans Visual C ++ 2010, et j'ai juste décidé de mettre mon propre bitmap dans les ressources pour remplacer le bitmap MFC à trois cubes qui apparaît dans le bouton d'application d'interface utilisateur du ruban, aka le "marbre".

L'original semblait utiliser le noir (0,0,0) comme couleur de transparence, mais je ne peux pas déterminer ce que fait le ruban MFC (MFC-FEATURAT-PACK STOCH) dans Visual Studio 2010 pour déterminer la transparence sur un bitmap utilisé comme l'icône principale du ruban.

Les propriétés du ruban (IDR_RIBBON) montrent Image = IDB_MAIN, et IDB_MAIN est un bitmap 32x32 au format BMP, chargé à partir d'un fichier de disque appelé main.bmp.

Certaines des ressources bitmap de ce projet ont ce à quoi je m'attendais: une couleur magenta qui devient transparente, mais le Bitmap principal MFC n'a pas utilisé cette palette de couleurs ou cette palette.

Voici un exemple des résultats réels, à savoir que je montre que les résultats ne sont pas ce que je voulais:alt text

Soit dit en passant, il ne semble pas possible d'utiliser une ressource d'icône dans le bouton d'application, donc je suis un peu mystifié comment ils y retirent la transparence.

Était-ce utile?

La solution

PNG translucide, peut-être? Saviez-vous que les fichiers BMP peuvent également avoir des canaux alpha?

Autres conseils

Vous devez créer un bitmap 32 bits qui a un canal alpha pour la transparence. La méthode par laquelle j'ai fait ceci n'est pas très simple, mais c'était la seule chose que je pouvais trouver.

  • Utilisez Paint.net pour convertir votre image source en PNG qui préserve la transparence. Malheureusement, Paint.net ne prend pas en charge la création de bitmaps 32 bits directement.
  • Puis télécharger Alphaconv qui peut créer le bitmap 32 bits à partir du fichier PNG.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top