Bordure de bulle de texte transparente à l'extérieur du rectangle
La classe "TextBubbleBorder" permet aux utilisateurs de créer des bordures rectangulaires arrondies autour de composants avec une épaisseur, des rayons, des rayons personnalisables. et la taille du pointeur. Récemment, il a été demandé que les coins de la bordure à l'extérieur du rectangle soient rendus transparents pour afficher les composants sous-jacents.
Le problème
Au départ, une approche a été tentée pour effacez la couleur d'arrière-plan d'une étiquette en dehors de la bordure en utilisant un clip et en appelant "clearRect()". Bien que cette approche limite la couleur d'arrière-plan à l'intérieur de la bordure, elle ne résout pas complètement le problème dans les cas où il existe une couleur non standard dans le conteneur parent.
La solution
Pour résoudre ce problème, la solution acceptée consiste à peindre la couleur d'arrière-plan du composant parent partout en dehors du clip de la bulle de texte. Ceci est accompli en suivant les étapes suivantes :
En suivant cette approche, les coins à l'extérieur du rectangle deviennent transparents, permettant aux composants sous-jacents d'être visibles. L'exemple de code fourni met à jour la classe "TextBubbleBorder" pour incorporer cette solution.
Remarque :
Il est important de souligner qu'il existe un bug d'écrêtage dans le code que vous avez fourni. , qui est résolu dans la réponse acceptée à une autre question connexe. Cette mise à jour doit être intégrée à la solution de transparence pour des résultats optimaux.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!