Problème de transparence lors de la création d'une windows form non rectangulair
cs_huguette49
Messages postés4Date d'inscriptionmercredi 3 mai 2006StatutMembreDernière intervention 1 février 2007
-
31 janv. 2007 à 13:41
cs_huguette49
Messages postés4Date d'inscriptionmercredi 3 mai 2006StatutMembreDernière intervention 1 février 2007
-
1 févr. 2007 à 10:14
Bonjour,
j'ai longtemps cherché sur le net une solution à ce problème :
Je veux créer une fenêtre non rectangulaire en utilisant comme l'indique microsoft la propriété TransparencyKey. Seulement en 32 bits le fond de la form reste visible. Y-a t'il un moyen de contourner se problème car la solution de passer en 16 bits n'est pour moi pas une solution. En effet, la majorité des PC tournent avec une config en 32 bits par défaut...
Merci d'avance
A voir également:
Problème de transparence lors de la création d'une windows form non rectangulair
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 31 janv. 2007 à 14:21
Salut, utilises la propriété Region de la forme pour en délimiter ses contours. Sinon pour TransprencyKey es tu sûr que ce n'est pas l'inverse, c-à-d la couleur de fond qui devient visible en 16 bits !?
En effet, il faut bien utiliser la propriété Region de la form. Ce lien explique comment découper la form en fonction de l'image qu'on veut envoyer au backgroundimage de celle ci.
Il faut simplement fixer une couleur sur le fond de l'image de fond qu'on veut rendre transparente, et une fonction permet de construire un objet Region en récupérant la position de tous les points situés à la limite entre la couleur spécifiée et l'image du background.
cs_huguette49
Messages postés4Date d'inscriptionmercredi 3 mai 2006StatutMembreDernière intervention 1 février 2007 1 févr. 2007 à 10:14
Le problème qui apparaît est que si l'image à découper contient des niveaux de transparence, on risque d'avoir une image découpée grossièrement. Puisque la construction de l'objet Region se base sur une seule couleur. Il faut donc supprimer également l'effet de fondu sur l'objet à découper.