Android SDK용 Fast Bitmap Blur
Android 애플리케이션에서 이미지를 흐리게 하기 위해 픽셀을 반복하는 현재 방법은 시간이 많이 걸릴 수 있습니다. 특히 더 큰 이미지의 경우. 이러한 비효율성을 해결하기 위해 이 기사에서는 상자 흐림과 가우시안 흐림의 조합을 사용하는 Quasimondo에서 제공하는 더 빠른 알고리즘을 제시합니다.
스택 흐림 알고리즘
스택 흐림 알고리즘은 이미지를 탐색하는 동안 움직이는 색상 스택을 생성하는 것과 관련됩니다. 오른쪽 스택에 새로운 색상 블록을 지속적으로 추가하고 가장 왼쪽의 색상 블록을 제거합니다. 스택의 나머지 색상은 스택 내의 위치에 따라 조정됩니다. 이 프로세스를 통해 순수 가우시안 흐림 구현보다 훨씬 빠른 시각적으로 만족스러운 흐림 효과가 나타납니다.
구현 세부 정보
제공된 코드는 배열 스택을 사용하여 저장합니다. 색상 값을 계산하고 스택 내용을 기반으로 각 픽셀의 평균 색상을 계산합니다. 알고리즘은 입력 이미지를 수평으로 한 번, 수직으로 한 번씩 두 번 반복하여 스택 전체에 색상 정보를 배포하여 흐림 효과를 얻습니다.
알려진 문제 및 해결 방법
일부 사용자가 이 알고리즘을 사용하는 동안 ArrayIndexOutOfBoundsException이 발생했습니다. 의견에서 @anthonycr이 제안한 대로 Math.abs를 StrictMath.abs로 바꾸거나 ABS를 대체 구현하면 많은 경우 이 문제가 해결되었습니다.
이점
스택 흐림 알고리즘은 다음과 같은 장점을 제공합니다.
위 내용은 스택 블러를 사용하면 Android 앱에서 비트맵 블러 처리 속도를 어떻게 크게 높일 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!