점진적 블러

Progressive Blur

한 방향을 따라 이미지의 블러 강도가 점차 달라집니다.

다른 이름: ProgressiveBlurgradient blur

WebGPU 를 지원하는 브라우저에서 움직입니다

이 기기에서는 데모를 그리지 못해 정지 화면을 보여 줍니다

React
// WebGPU 를 지원하는 브라우저에서만 그립니다.
// /samples/… 는 이 사이트의 샘플 파일입니다. 내 프로젝트의 이미지·영상 경로로 바꾸세요.
import { Shader, ImageTexture, ProgressiveBlur } from 'shaders/react'

export default function ShaderEffect() {
  return (
    <Shader style={{ width: '100%', height: 320 }} disableTelemetry>
      <ImageTexture
        objectFit="cover"
        url="/samples/photo.jpg" />
      <ProgressiveBlur />
    </Shader>
  )
}
Vue
<!-- WebGPU 를 지원하는 브라우저에서만 그립니다. -->
<!-- /samples/… 는 이 사이트의 샘플 파일입니다. 내 프로젝트의 이미지·영상 경로로 바꾸세요. -->
<script setup lang="ts">
import { Shader, ImageTexture, ProgressiveBlur } from 'shaders/vue'
</script>

<template>
  <Shader style="width: 100%; height: 320px" :disable-telemetry="true">
    <ImageTexture
      object-fit="cover"
      url="/samples/photo.jpg"/>
    <ProgressiveBlur/>
  </Shader>
</template>
Svelte
<!-- WebGPU 를 지원하는 브라우저에서만 그립니다. -->
<!-- /samples/… 는 이 사이트의 샘플 파일입니다. 내 프로젝트의 이미지·영상 경로로 바꾸세요. -->
<script>
  import { Shader, ImageTexture, ProgressiveBlur } from 'shaders/svelte'
</script>

<Shader style="width: 100%; height: 320px" disableTelemetry>
  <ImageTexture
    objectFit="cover"
    url="/samples/photo.jpg" />
  <ProgressiveBlur />
</Shader>
Solid
// WebGPU 를 지원하는 브라우저에서만 그립니다.
// /samples/… 는 이 사이트의 샘플 파일입니다. 내 프로젝트의 이미지·영상 경로로 바꾸세요.
import { Shader, ImageTexture, ProgressiveBlur } from 'shaders/solid'

export default function ShaderEffect() {
  return (
    <Shader style={{ width: '100%', height: '320px' }} disableTelemetry>
      <ImageTexture
        objectFit="cover"
        url="/samples/photo.jpg" />
      <ProgressiveBlur />
    </Shader>
  )
}
JavaScript
// WebGPU 를 지원하는 브라우저에서만 그립니다.
// /samples/… 는 이 사이트의 샘플 파일입니다. 내 프로젝트의 이미지·영상 경로로 바꾸세요.
// <canvas id="canvas" style="width:100%;height:320px"></canvas> 가 페이지에 있어야 한다
import { createShader } from 'shaders/js'

const shader = await createShader(document.getElementById("canvas"), {
  components: [
    {
      type: 'ImageTexture',
      props: {
        objectFit: 'cover',
        url: '/samples/photo.jpg',
      },
    },
    {
      type: 'ProgressiveBlur',
    }
  ]
}, { disableTelemetry: true })

속성(props) · ProgressiveBlur

값을 바꾸면 위 데모와 코드 탭에 바로 반영됩니다. 설명은 라이브러리 레지스트리의 영어 원문(MIT)입니다.

이름값기본값범위·선택지설명(원문)
intensityIntensity500 – 100 (step 1)Maximum intensity of the blur effect
angleAngle00 – 360 (step 1)Direction of the blur gradient (in degrees)
centerCenter
x0y0.5
{"x":0,"y":0.5}x, y: 0 – 1Center point where blur begins
falloffFalloff10 – 1 (step 0.1)Distance over which blur transitions to full strength

모든 컴포넌트 공통: blendMode · opacity · visible · maskSource/maskType · boundingBox · id

화면 한쪽은 선명하고 반대쪽으로 갈수록 흐려지는 초점 띠를 만듭니다. 선명한 부분에서 흐린 부분으로 안개가 번지는 듯 보입니다.

`intensity`는 기본 50, 범위 0–100이며 최대 흐림 정도를 정합니다. `angle`은 기본 0도, 범위 0–360도이고 변화 방향을 돌립니다. `center`는 기본 {x: 0, y: 0.5}로 블러가 시작되는 지점이며, `falloff`는 기본 1, 범위 0–1로 선명함에서 최대 흐림까지 바뀌는 거리를 조절합니다.

입력 이미지나 영상 위에 적용하고, 중요한 대상이 놓인 쪽을 선명하게 남기세요. 글자가 있는 구역을 가로지르면 읽기 어려워지므로 배경에 쓰거나 텍스트 영역을 피해서 배치하세요.

언제 쓰나

배경의 한쪽만 부드럽게 흐리거나, 피사체에서 배경으로 초점이 넘어가는 화면, 문구 뒤의 여백을 만들 때 좋습니다. 중요한 대상 전체를 균일하게 선명하게 보여야 한다면 피하세요.

페이지로 열기 ↗