Skip to content
Technical

SVG 필터 효과: 고급 비주얼 효과 만들기

블러, 그림자, 색상 효과 및 복잡한 비주얼 처리를 위한 SVG 필터를 마스터하세요. 필터 프리미티브와 창의적 조합에 대한 완전한 가이드.

Robin Monteiro2026년 1월 28일2026년 10월 10일3 min
Use this article with an AI assistant:
.md
SVG 필터 효과: 고급 비주얼 효과 만들기
R
Robin Monteiro

Founder of VectoSolve

Self-taught developer, founder and sole developer of VectoSolve since 2024. He builds the conversion engine and the cutting, embroidery and 3D printing exports.

How this article was made: drafted with AI assistance, then edited and fact-checked before publication. About the author

Image vectorizationCutting machine filesEmbroidery filesSVG
Free previewNo signupFull-quality output

Key Takeaways

  • SVG 필터는 블러, 그림자, 왜곡 같은 GPU 가속 비주얼 효과를 브라우저에서 직접 적용합니다
  • 필터 프리미티브(feGaussianBlur, feColorMatrix, feTurbulence 등)를 체인으로 연결하여 복잡한 효과를 만들 수 있습니다
  • 젖빛 유리, 네온 글로우, 엠보싱 같은 창의적 레시피는 간단한 필터 프리미티브를 조합하여 구축됩니다
  • 성능은 크게 다릅니다 — feColorMatrix는 가볍지만 feTurbulence는 계산 비용이 높습니다
  • 간단한 효과에는 CSS 필터를 폴백으로 사용하고 SVG 필터는 고급 컴포지션용으로 예약하세요

SVG 필터의 힘

SVG 필터는 래스터 이미지 없이 정교한 비주얼 효과를 가능하게 합니다. 간단한 그림자부터 복잡한 왜곡까지, 필터는 벡터 그래픽을 강력하게 변환합니다.

블러, 그림자, 색상 변환을 보여주는 SVG 필터 효과 개요
SVG 필터는 간단한 도형을 놀라운 비주얼 컴포지션으로 변환합니다

필터 기초

필터 구조

xml
<defs>
  <filter id="myFilter">
    <!-- 필터 프리미티브를 여기에 -->
  </filter>
</defs>

<rect filter="url(#myFilter)" .../>

필터 영역

필터 경계 제어:

xml
<filter id="f" x="-20%" y="-20%" width="140%" height="140%">
  <!-- 요소 너머로 필터 영역 확장 -->
</filter>

Pro Tip: 블러나 그림자 효과를 사용할 때는 항상 필터 영역을 확장하세요 (예: x="-20%"). 필터 출력이 잘려 보인다면 필터 영역이 너무 작은 것입니다.


일반적인 필터 효과

블러 (feGaussianBlur)

xml
<filter id="blur">
  <feGaussianBlur stdDeviation="5"/>
</filter>

가변 블러:

xml
<!-- 수평 블러만 -->
<feGaussianBlur stdDeviation="10 0"/>

<!-- 수직 블러만 -->
<feGaussianBlur stdDeviation="0 10"/>

드롭 섀도우 (feDropShadow)

간단한 그림자:

xml
<filter id="shadow">
  <feDropShadow dx="3" dy="3" stdDeviation="2" flood-opacity="0.5"/>
</filter>

커스텀 섀도우

더 많은 제어:

xml
<filter id="custom-shadow">
  <feGaussianBlur in="SourceAlpha" stdDeviation="3" result="blur"/>
  <feOffset in="blur" dx="4" dy="4" result="offset"/>
  <feFlood flood-color="#000" flood-opacity="0.5" result="color"/>
  <feComposite in="color" in2="offset" operator="in" result="shadow"/>
  <feMerge>
    <feMergeNode in="shadow"/>
    <feMergeNode in="SourceGraphic"/>
  </feMerge>
</filter>

A Full Year of Conversions for $49

Starter Annual: 25 conversions every month, $49 for the whole year. That is about $4.08 a month · Cancel anytime

Get the Annual Deal

색상 효과

색상 매트릭스 (feColorMatrix)

그레이스케일 변환:

xml
<filter id="grayscale">
  <feColorMatrix type="saturate" values="0"/>
</filter>

세피아 톤:

xml
<filter id="sepia">
  <feColorMatrix type="matrix"
    values="0.393 0.769 0.189 0 0
            0.349 0.686 0.168 0 0
            0.272 0.534 0.131 0 0
            0     0     0     1 0"/>
</filter>

색조 회전:

xml
<filter id="hue-rotate">
  <feColorMatrix type="hueRotate" values="90"/>
</filter>

색상 조정

밝기/대비:

xml
<filter id="bright">
  <feComponentTransfer>
    <feFuncR type="linear" slope="1.5" intercept="0"/>
    <feFuncG type="linear" slope="1.5" intercept="0"/>
    <feFuncB type="linear" slope="1.5" intercept="0"/>
  </feComponentTransfer>
</filter>
"

SVG 필터는 브라우저의 Photoshop입니다 — 현명하게 레이어링하면 무거운 이미지 편집 소프트웨어가 필요한 효과를 만들 수 있습니다.

— Sara Soueidan, SVG 전문가

변위와 왜곡

터뷸런스

노이즈 생성:

xml
<filter id="turbulence">
  <feTurbulence type="turbulence"
                baseFrequency="0.05"
                numOctaves="2"/>
</filter>

변위 맵

패턴으로 왜곡:

xml
<filter id="displace">
  <feTurbulence type="turbulence"
                baseFrequency="0.02"
                numOctaves="3"
                result="noise"/>
  <feDisplacementMap in="SourceGraphic"
                      in2="noise"
                      scale="30"
                      xChannelSelector="R"
                      yChannelSelector="G"/>
</filter>

조명 효과

디퓨즈 라이팅

3D 스타일 조명:

xml
<filter id="diffuse">
  <feDiffuseLighting lighting-color="#white" surfaceScale="5">
    <fePointLight x="100" y="100" z="200"/>
  </feDiffuseLighting>
</filter>

스페큘러 라이팅

광택 하이라이트:

xml
<filter id="specular">
  <feSpecularLighting specularConstant="1"
                       specularExponent="30"
                       lighting-color="white"
                       surfaceScale="5">
    <fePointLight x="150" y="60" z="200"/>
  </feSpecularLighting>
</filter>

Free SVG Tools for Crafters

Design Checker · Color Separator · Mat Preview · Offset Generator · Text to SVG

Check Your SVG Free

필터 결합

병합 작업

결과 레이어링:

xml
<filter id="glow">
  <feGaussianBlur in="SourceGraphic" stdDeviation="10" result="blur"/>
  <feMerge>
    <feMergeNode in="blur"/>
    <feMergeNode in="blur"/>
    <feMergeNode in="SourceGraphic"/>
  </feMerge>
</filter>

컴포지트 작업

연산자로 결합:

xml
<filter id="cutout">
  <feImage href="mask.svg" result="mask"/>
  <feComposite in="SourceGraphic"
               in2="mask"
               operator="in"/>
</filter>

창의적 레시피

젖빛 유리

xml
<filter id="frosted">
  <feGaussianBlur in="SourceGraphic" stdDeviation="10" result="blur"/>
  <feColorMatrix in="blur" type="saturate" values="1.5" result="saturate"/>
  <feTurbulence type="fractalNoise" baseFrequency="0.1" result="noise"/>
  <feDisplacementMap in="saturate" in2="noise" scale="5"/>
</filter>

네온 글로우

xml
<filter id="neon">
  <feFlood flood-color="#ff00ff" result="flood"/>
  <feComposite in="flood" in2="SourceGraphic" operator="in" result="mask"/>
  <feGaussianBlur in="mask" stdDeviation="5" result="blur"/>
  <feMerge>
    <feMergeNode in="blur"/>
    <feMergeNode in="blur"/>
    <feMergeNode in="SourceGraphic"/>
  </feMerge>
</filter>

엠보스 효과

xml
<filter id="emboss">
  <feConvolveMatrix
    order="3"
    kernelMatrix="-2 -1 0
                  -1  1 1
                   0  1 2"/>
</filter>
글로우, 터뷸런스, 동적 전환을 포함한 애니메이션 SVG 효과
SVG 필터 애니메이션은 웹 그래픽에 깊이와 상호작용을 추가합니다

필터를 이용한 애니메이션

애니메이션 블러

xml
<filter id="animated-blur">
  <feGaussianBlur stdDeviation="0">
    <animate attributeName="stdDeviation"
             values="0;10;0"
             dur="2s"
             repeatCount="indefinite"/>
  </feGaussianBlur>
</filter>

동적 터뷸런스

xml
<feTurbulence baseFrequency="0.02">
  <animate attributeName="baseFrequency"
           values="0.01;0.05;0.01"
           dur="5s"
           repeatCount="indefinite"/>
</feTurbulence>

A Full Year of Conversions for $49

Starter Annual: 25 conversions every month, $49 for the whole year. That is about $4.08 a month · Cancel anytime

Get the Annual Deal

성능 고려사항

성능 영향

필터 성능:
feGaussianBlur: 무거움 (반경에 따라 다름)
feColorMatrix: 가벼움
feTurbulence: 매우 무거움
feDisplacementMap: 무거움
체인 필터: 누적

최적화 팁

  1. 필터 영역 최소화
  2. 블러 반경 줄이기
  3. 체인 효과 제한
  4. 정적 필터 캐시
  5. 가능하면 CSS 필터 사용

블러, 그레이스케일, 드롭 섀도우 같은 간단한 효과의 경우 CSS filter가 하드웨어 가속 합성을 활용하기 때문에 SVG 필터보다 훨씬 빠릅니다. CSS가 재현할 수 없는 효과에 SVG 필터를 예약하세요.

CSS 필터 대안

가능하면 CSS를 사용:

css
.blurred {
  filter: blur(5px);
}

.grayscale {
  filter: grayscale(100%);
}

브라우저 호환성

지원 현황

광범위한 지원:
- feGaussianBlur
- feColorMatrix
- feOffset
- feMerge

가변적 지원:
- feDisplacementMap
- feTurbulence
- feDiffuseLighting

폴백 전략

css
.element {
  /* 폴백 */
  box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

@supports (filter: url(#shadow)) {
  .element {
    box-shadow: none;
    filter: url(#shadow);
  }
}

결론

SVG 필터는 CSS만으로는 불가능한 정교한 효과를 가능하게 합니다. 계산 집약적이지만 비주얼 처리에 대한 정밀한 제어를 제공합니다. 임팩트 있는 효과에 현명하게 사용하고, 항상 성능을 고려하며 폴백을 제공하세요.

필터링된 벡터 효과 만들기


필터 프리미티브효과성능 비용
feGaussianBlur소프트 블러 / 젖빛 유리중간 (GPU 가속)
feColorMatrix색상 시프트, 채도 감소낮음
feTurbulence노이즈, 유기적 텍스처높음 (픽셀 수준 계산)
feDisplacementMap왜곡, 물결 효과높음
feDropShadow드롭 섀도우낮음–중간

Free SVG Tools for Crafters

Design Checker · Color Separator · Mat Preview · Offset Generator · Text to SVG

Check Your SVG Free

출처 및 추가 읽기

Tags:
SVG 필터
비주얼 효과
블러
그림자
고급
Share:

Try VectoSolve Now

Convert your images to high-quality SVG vectors with AI

AI-Powered Vectorization

Ready to vectorize your images?

Convert your PNG, JPG, and other images to high-quality, scalable SVG vectors in seconds.