Page 1 sur 1

[R] PNG, transparence et anti-aliasing

Posté : mar. 04 mars 2014 22:58
par ZDS
Bonjour à tous,

J'ai quelques soucis sur mon projet, notamment pour avoir un texte coloré sur un fond hétérogène (un PNG n'étant pas de couleur unie, mais mon souci se produit aussi sur un fond homogène). A noter que vu le reste du code, je suis obligé d'avoir une structure avec le fond dans un GUICreate(..., $WS_POPUP, $WS_EX_LAYERED), et les contrôles dans une fenêtre fille GUICreate(..., $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $parent). J'ai donc minimisé mon bouzin pour y poster un code pas trop long, avec en pièce jointe les deux backgrounds pour le test.

Est-ce normal que dans ce script l'anti-aliasing d'un label avec un fond transparent soit complètement foireux? Si vous aviez des idées pour le corriger, ça me sauverait la mise ^^
(c'est le 4ème label avec fond transparent et background hétérogène que je cherche à afficher correctement)

Merci d'avance pour votre aide :)

A bientôt !
► Afficher le texteCode
PS: En remplaçant la ligne 40 par GUISetFont(11, 800, 1, "Arial", $controls, 3), au moins il y a plus d'artefact sur les bords des lettres, mais il y a plus d'antialiasing (j'aimerai pouvoir le garder, vu que j'ai des lettres de taille importante dans mon script complet, le lissage des bords est très important).

Re: [..] PNG, transparence et anti-aliasing

Posté : lun. 21 avr. 2014 02:13
par ZDS
Bonjour à tous,

Au final, j'ai trouvé tout seul un semblant de réponse à mon problème. L'antialiasing ne se base pas sur l'image qui est en arrière plan, mais sur la couleur qui a été arbitrairement décidée comme étant la transparence à utiliser (dans le cas de mon exemple, j'avais utilisé 0x010203, c'est à dire une couleur très sombre). Donc pour un fond de couleur vert foncé, il faudra utiliser une autre couleur, comme le 0x009900.

ATTENTION, il ne faut pas que cette couleur soit utilisée dans votre GUI (sinon vous aurez des "trous" dans votre affichage) ! Donc une couleur approchante, mais non présente dans la palette des couleurs.

Sujet [R]ésolu. A bientôt!