이 페이지에서

GaussianBlur QML Type

더 높은 품질의 블러 효과를 적용합니다. 더 보기...

Import Statement: import Qt5Compat.GraphicalEffects
Since: QtGraphicalEffects 1.0
Inherits:

Item

속성

상세 설명

참고: ` MultiEffect `컴포넌트는 성능 면에서 몇 가지 이점을 제공하는 블러 효과를 제공합니다. 새로운 코드를 작성할 때는 Qt XML의 ` Graphical Effects`을 사용하는 대신 이 컴포넌트를 대안으로 고려해야 합니다.

GaussianBlur 효과는 가우시안 함수를 사용하여 효과를 계산하는 알고리즘으로 이미지를 흐리게 하여 부드럽게 만듭니다. 이 효과는 FastBlur 보다 높은 품질을 제공하지만, 렌더링 속도는 더 느립니다.

특히, 가우시안 블러의 속성을 수정할 경우 대부분의 경우 셰이더 코드를 처음부터 다시 작성해야 하므로, 효과의 속성을 애니메이션 처리할 때 성능이 저하될 뿐만 아니라 대량의 캐시 공간을 차지할 수 있습니다. 따라서 애니메이션이 적용된 블러 효과의 경우 일반적으로 FastBlur 를 사용하는 것이 좋습니다.

출처효과 적용

잎 위에 있는 검은 딱정벌레

가우시안 블러 효과가 적용된 딱정벌레

참고: 이 효과는 OpenGL로 실행할 때 사용할 수 있습니다.

예제

다음 예제는 이 효과를 적용하는 방법을 보여줍니다.

import QtQuick
import QtGraphicalEffects

Item {
    width: 300
    height: 300

    Image {
        id: bug
        source: "images/bug.jpg"
        sourceSize: Qt.size(parent.width, parent.height)
        smooth: true
        visible: false
    }

    GaussianBlur {
        anchors.fill: bug
        source: bug
        radius: 8
        samples: 16
    }
}

실시간으로 블러 효과를 적용하는 것은 많은 리소스를 소모하는 작업입니다. 샘플 수가 적당한 수준인 풀스크린 가우시안 블러의 경우, 고성능 그래픽 하드웨어에서도 60fps로만 실행됩니다.

속성 설명

cached : bool

이 속성을 사용하면 렌더링 성능을 향상시키기 위해 이펙트 출력 픽셀을 캐시에 저장할 수 있습니다. 소스나 이펙트 속성이 변경될 때마다 캐시에 저장된 픽셀을 업데이트해야 합니다. 이펙트 출력을 저장하기 위해 추가 메모리 버퍼가 필요하기 때문에 메모리 사용량이 증가합니다.

소스 또는 효과 속성이 애니메이션 처리될 때는 캐시를 비활성화하는 것이 좋습니다.

기본적으로 이 속성은 ` false`로 설정되어 있습니다.

deviation : real

이 속성은 블러링 시 인접 픽셀의 가중치를 계산할 때 사용되는 가우시안 함수의 매개변수입니다. 편차 값이 클수록 이미지가 더 흐릿해 보이지만, 블러의 품질도 떨어집니다. 편차 값을 매우 크게 설정하면, 예를 들어 박스 블러 알고리즘이 생성하는 결과와 다소 유사한 효과가 나타납니다. 편차 값이 너무 작으면 반경 근처의 픽셀에 대해서는 효과가 미미해집니다.

편차 값이 서로 다른 가우시안 함수 곡선

위의 이미지는 노란색(1)과 청록색(2.7)이라는 두 가지 다른 편차 값을 적용한 가우시안 함수를 보여줍니다. y축은 가중치를, x축은 픽셀 간 거리를 나타냅니다.

값의 범위는 0.0(편차 없음)부터 inf(최대 편차)까지입니다. 기본적으로 편차는 반경에 연동됩니다. 반경이 증가하면 편차도 자동으로 선형적으로 증가합니다. 반경 값이 8일 때, 편차의 기본값은 약 2.7034가 됩니다. 이 값은 블러 품질과 전체적인 흐릿함 사이에서 적절한 균형을 제공합니다.

다양한 편차 값을 적용한 출력 예시

편차가 작은 블러

중간 편차 블러

편차가 큰 흐림 효과

편차: 1 편차: 2 편차: 4
radius: 8radius: 8radius: 8
samples: 16samples: 16samples: 16

radius : real

이 속성은 개별 픽셀의 흐림 효과에 영향을 미치는 인접 픽셀 간의 거리를 정의합니다. 반지름이 클수록 흐림 효과가 강해집니다.

이상적인 블러 효과는 ` samples `과 ` radius `을 다음과 같이 선택하여 ` samples = 1 + radius * 2`이 되도록 설정할 때 얻을 수 있습니다. 예를 들어:

반경샘플
0 (흐림 없음)1
13
25
37

값의 범위는 0.0(블러 없음)부터 무한대(inf)까지입니다. 기본적으로 이 속성은 floor(samples / 2.0) 로 설정되어 있습니다.

반경 값이 다른 출력 예시

흐림 현상이 없는 딱정벌레

적당히 흐릿하게 처리된 딱정벌레

심하게 흐릿하게 처리된 딱정벌레

반경: 0 반경: 4 반경: 8
samples: 16samples: 16samples: 16
deviation: 3deviation: 3deviation: 3

참고: ` radius `속성은 이펙트의 오프스크린 버퍼 크기를 계산하는 데 사용됩니다. 값이 높을수록 더 많은 메모리가 할당됩니다.

samples : int

이 속성은 블러 계산 시 픽셀당 몇 개의 샘플을 채취할지 정의합니다. 값이 클수록 품질은 좋아지지만, 렌더링 속도는 느려집니다.

이상적으로는 이 값을 필요한 최대 반지름 값에 1을 더한 값의 두 배로 설정해야 합니다. 예를 들어, 반지름이 0.0에서 4.0 사이로 애니메이션되는 경우, 샘플 수는 9로 설정해야 합니다.

기본적으로 이 속성은 9 로 설정되어 있습니다.

참고: 이 속성은 애니메이션용으로 설계되지 않았습니다. 이 속성을 변경하면 기본 OpenGL 셰이더가 재컴파일될 수 있습니다.

source : variant

이 속성은 흐림 효과가 적용될 소스 항목을 정의합니다.

참고: 예를 들어 소스를 효과의 상위 요소로 설정하는 등, 효과가 스스로를 포함하도록 하는것은 지원되지않습니다 .

transparentBorder : bool

이 속성은 항목의 가장자리 부근에서 발생하는 블러 효과를 정의하며, 이 경우 소스 가장자리 바깥쪽의 픽셀이 픽셀 블러링에 영향을 미칩니다.

이 속성이 ` true`로 설정되면, 소스 영역 외부의 픽셀은 투명한 것으로 해석되며, 이는 OpenGL의 `clamp-to-border` 확장 기능과 유사합니다. 블러 효과는 효과 항목 영역 밖으로 약간 확장됩니다.

이 속성이 ` false`로 설정되면, 소스 영역 바깥쪽의 픽셀은 항목 가장자리의 픽셀과 동일한 색상을 가진 것으로 해석되며, 이는 OpenGL의 `clamp-to-edge` 동작과 유사합니다. 블러 효과는 효과 항목 영역 밖으로 확장되지 않습니다.

기본적으로 이 속성은 ` false`로 설정되어 있습니다.

transparentBorder 값이 다른 출력 예시

가장자리 클램핑을 적용한 블러

가장자리가 투명한 블러 효과

transparentBorder: false transparentBorder: true
radius: 8radius: 8
samples: 16samples: 16
deviation: 2.7deviation: 2.7

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.