2 pièce(s) jointe(s)
[Linux 32bits] [Graphisme] Souci de transparence avec TImageList (un classique)
Bonjour,
Le TImageList me fait péter les plombs (et perdre un temps cooooooooooonsidérable), qu'on en juge :
j'essaye d'ajouter dynamiquement des gif's redimensionnés1 (ça se passe bien, je vérifie en enregistrant le résultat du resizing en tant que fichier .png) mais la couleur transparente, c'est la cata...
Posons le décor :
Pièce jointe 379977
de haut en bas
- l'image .gif d'origine et à sa droite le résultat du resizing (je n'ai pas changé l'extension pour gagner du temps, juste rajouté '_test') vus dans l'explorateur de fichiers ;
- dessous, l'ouverture du fichier resizé, le png donc, dans TheGimp, qui montre bien que le fond est transparent ;
- et tout en bas l'image issue du TImageList et dessinée dans une DrawGrid (sans bordures).
J'aimerais bien faire disparaître ce "presque" fuchsia (presque parce que clFuchsia c'est 255 0 255 et ici c'est 255 64 255 [dont je ne sais pas d'où il sort, soit dit en passant...]) et j'ai donc essayé, une ligne à la fois (le dstbmp c'est un TPicture qui reçoit le retour du resizing) :
Code:
1 2 3 4
| imgList.Add(dstbmp.PNG, nil); // pour faire confiance à l'interface du TImageList en mode création qui propose clFuchsia, résultat copie d'écran ci-dessus
imgList.AddMasked(dstbmp.Bitmap, RGBtocolor(255,64,255)); // je force le "presque" fuchsia, pas mieux
imgList.AddMasked(dstbmp.Bitmap, RGBtocolor(224,0,0)); // je tente du rouge relevé au colorpicker pour tester sur la boule de droite, négatif
imgList.AddMasked(dstbmp.Bitmap, RGBtocolor(0,0,0)); // et là, en testant du noir c'est bon ! Image ci-dessous. |
Pièce jointe 379981
La question est donc simple : comment faire fonctionner les lignes qui ne fonctionnent pas ?
D'accord, il y a un gros changement entre la 1re ligne et les 3 autres, mais si on ne considère que les 3 dernières justement, comment faire fonctionner les 2 premières qui sont construites exactement comme la 3e, qui fonctionne ?
J'en mange mon chapeau...
Merci et bon dimanche,
---
1 : le code du resizing (3e post en partant d'en-bas), pour ceux qui seraient intéressés. Méfi, c'est du teuton : http://www.lazarusforum.de/viewtopic.php?p=64596#p64596