EverGiver

마스크 본문

웹 디자인/SVG

마스크

친절한개발초보자 2022. 3. 4. 09:01
728x90
이미지 마스크

 

  • <defs> 내부에 <mask> 요소를 선언하고, 식별 가능한 id 속성을 부여한다.
  • <image> 요소 mask 속성 값으로 url() 함수를 사용해 마스크 ID를 설정하면 마스킹된 이미지가 화면에 렌더링 된다.
  • 주의할 점은 마스크는 Alpha Channel을 사용하므로 하얀색(#fff)일 경우 Opacity 100%와 같고, 검은색(#000) 일 경우 Opacity 0%와 같다.
<svg width="300" height="300">
    <defs>
        <mask id="fruit_mask">
            <polygon points="146,21 239,58 203,149 106,147 65,65 146,21" fill="pink"></polygon>
        </mask>
    </defs>
    <image mask="url(#fruit_mask)" xlink:href="images_f/fruits01.jpg" x="0" y="0" height="300" aria-label="fruits01"></image>
</svg>
  • mask-text
<svg width="300" height="300">
    <defs>
        <mask id="mask_img">
            <image xlink:href="images_f/fruits01.jpg" x="0" y="0" width="500"></image>
        </mask>
    </defs>
    <text mask="url(#mask_img)" x="0" y="90" style="font-size:9rem;font-weight:900;">SVG LESSON</text>
</svg>
  • 마스크(mask)와 클립패스(clipPath)의 차이점
    - 마스킹은 마스크의 투명도 및 회색 값을 고려하여 부드러운 가장자리를 허용한다.
    - 클리핑은 다른 파트에서 정의한 요소의 일부를 제거하는 것을 의미한다.
      (이 경우 모든 반투명 효과는 불가능)

 

 

 

 

728x90

'웹 디자인 > SVG' 카테고리의 다른 글

clipPath  (0) 2022.03.04
Gradient  (0) 2022.03.04
Animation  (0) 2022.02.28
3D  (0) 2022.02.28
Text  (0) 2022.02.28
Comments