GaussianBlur QML Type

고품질의 흐림 효과를 적용합니다. 더 보기...

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

Item

속성

상세 설명

가우스 블러 효과는 가우스 함수를 사용하여 효과를 계산하는 알고리즘으로 이미지를 흐리게 처리하여 이미지를 부드럽게 만듭니다. 이 효과는 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

이 속성은 개별 픽셀의 흐림 효과에 영향을 주는 인접 픽셀의 거리를 정의합니다. 반경이 클수록 흐림 효과가 증가합니다.

samplesradius 을 선택하여 samples = 1 + radius * 2 과 같은 이상적인 블러 효과를 얻을 수 있습니다:

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

값의 범위는 0.0(흐림 없음)에서 inf까지입니다. 기본적으로 이 속성은 floor(samples / 2.0) 로 설정되어 있습니다.

반경 값이 다른 출력 예제

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

samples : int

이 속성은 블러 계산이 수행될 때 픽셀당 얼마나 많은 샘플을 가져올지 정의합니다. 값이 클수록 품질은 좋아지지만 렌더링 속도가 느려집니다.

이 값은 가장 높은 필수 반경 값에 1을 더한 값의 두 배로 설정하는 것이 이상적입니다. 예를 들어 반경이 0.0에서 4.0 사이로 애니메이션되는 경우 샘플은 9로 설정해야 합니다.

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

참고: 이 속성은 애니메이션이 적용되지 않습니다. 이 프로퍼티를 변경하면 기본 OpenGL 셰이더가 다시 컴파일될 수 있습니다.


source : variant

이 속성은 흐리게 처리할 소스 항목을 정의합니다.

참고: 소스를 효과의 부모로 설정하는 등 효과에 효과 자체를 포함하도록 하는 것은 지원되지 않습니다.


transparentBorder : bool

이 속성은 항목 가장자리 근처의 흐림 동작을 정의하며, 픽셀 흐림은 소스 가장자리 외부의 픽셀에 의해 영향을 받습니다.

속성이 true 로 설정된 경우 소스 외부의 픽셀은 투명으로 해석되며, 이는 OpenGL 클램프-투-보더 확장과 유사합니다. 흐림 효과는 효과 항목 영역 바깥쪽으로 약간 확장됩니다.

속성이 false 로 설정된 경우 소스 외부의 픽셀은 항목 가장자리에 있는 픽셀과 동일한 색상을 포함하는 것으로 해석되며, 이는 OpenGL 클램프 투 에지 동작과 유사합니다. 흐림 효과는 효과 항목 영역 밖으로 확장되지 않습니다.

기본적으로 이 속성은 false 로 설정됩니다.

transparentBorder 값이 다른 출력 예제

transparentBorder: false 투명 테두리: 참
radius: 8radius: 8
samples: 16samples: 16
deviation: 2.7deviation: 2.7

© 2025 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.