>  기사  >  Java  >  TextBubbleBorder에서 투명한 둥근 모서리를 얻는 방법은 무엇입니까?

TextBubbleBorder에서 투명한 둥근 모서리를 얻는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-06 13:59:03238검색

How to Achieve Transparent Rounded Corners in TextBubbleBorder?

둥근 모서리와 투명도가 있는 테두리

질문

원본 TextBubbleBorder 구성 요소에는 투명도 없이 둥근 모서리가 있어서 구성 요소의 일부가 외부에 놓여 있었습니다. 기본 패널 색상을 표시하는 직사각형입니다. 목표는 모서리를 투명하게 만들어 아래에 있는 구성 요소의 색상이 비치도록 하는 것입니다.

해결책

투명하고 둥근 모서리를 얻기 위해 클리핑 프로세스가 사용됩니다. 작동 방식은 다음과 같습니다.

  1. 둥근 직사각형의 모양과 음성 포인터(있는 경우)를 정의하기 위해 영역이 생성됩니다.
  2. setClip 메서드는 그리기 작업을 제한하는 데 사용됩니다. 지정된 지역으로. 이는 그리기가 버블의 정의된 모양 내에서만 발생함을 의미합니다.
  3. 상위 구성 요소의 배경색은 클립 외부 모든 곳에 칠해져 이전에 버블 외부에 그려진 그래픽을 덮습니다.
  4. 클립은 다음과 같습니다. 제거되고 거품의 테두리가 채워진 배경 위에 그려져 모서리가 투명해집니다.

이 클리핑 기술을 통합하면 TextBubbleBorder 구성 요소가 이제 투명하고 둥근 모서리를 표시할 수 있으므로 기본 구성 요소의 색상을 계속 표시됩니다. 이 솔루션이 올바르게 작동하려면 원본 코드의 클리핑 버그를 수정해야 합니다. 수정된 코드는 "paintComponent()가 다른 구성 요소에 그림을 그리고 있습니다."라는 질문에 대한 답변에서 찾을 수 있습니다.

위 내용은 TextBubbleBorder에서 투명한 둥근 모서리를 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.