Scaleed Bitmap을 생성하기 위한 필터 매개 변수는 무엇을 합니까?
의 선언.android.graphics.Bitmap.createScaledBitmap
이라
public static Bitmap createScaledBitmap
(Bitmap src, int dstWidth, int dstHeight, boolean filter)
그러나 설명서에는 매개 변수가 설명되어 있지 않습니다.그들 모두는 아주 명백합니다.boolean filter
그것이 무엇을 하는지 아는 사람?
Karan의 대답을 확장하기 위해: 일반적으로 이미지를 축소하는 것은 아무런 차이가 없지만, 확대하는 것은 그렇게 될 것입니다.
패싱filter = false
블록 모양의 픽셀 이미지가 생성됩니다.
패싱filter = true
가장자리를 매끄럽게 해줍니다.
그러나 EIYeante가 댓글에서 지적했듯이, 여전히 차이를 볼 수 있습니다.이것이 그들의 예시 이미지입니다.
SKIA 소스 코드를 빠르게 탐색하면 (적어도 기본적으로) FILTER 플래그로 인해 간단한 이중 선형 보간이 수행됩니다.Wikipedia 또는 즐겨찾는 그래픽 참조를 확인하여 예상되는 결과를 확인합니다.일반적으로 영상 크기를 조정할 때는 2선형 또는 2제곱 보간을 수행하고 영상 크기를 조정할 때는 영역 평균을 수행합니다.Android/Skia는 축소 시 필터링 없이 간단한 서브샘플링을 하므로 축소 시에도 필터링을 통해 더 좋은 결과를 얻을 수 있다는 인상을 받습니다. (50% 스케일을 연속으로 줄이는 것을 포함하여 보간법으로 고품질의 축소를 얻을 수 있는 다른 방법이 있습니다.)자세한 내용은 http://today.java.net/pub/a/today/2007/04/03/perils-of-image-getscaledinstance.html 을 참조하십시오.)
파티에 조금 늦었지만, 저는 몇몇 샘플 이미지들이 그 문제를 분명히 할 것이라고 생각했습니다.
슈퍼유저에 대한 필터링 여부와 방법에 대한 보다 일반적인 질문이 있습니다.
제프 앳우드가 말합니다.
일반적으로 큰 이미지를 작은 이미지로 만들 때는 약간의 선명도 효과가 필요하고 작은 이미지를 큰 이미지로 만들 때는 약간의 흐릿함 효과가 필요합니다.
Android의 API는 어떤 종류의 필터를 적용할 것인지를 명시하지 않았기 때문에, 질문은 픽셀을 그대로 유지할 것인지(8비트 아트에서 원하는 대로) 또는 이미지를 더 맛있게 만들기 위해 변환을 적용할 것인지(사진에서 원하는 대로)입니다.
필터가 FILTER_B를 설정합니다.사용자가 제공한 값을 기준으로 변환될 때 비트맵 샘플링에 영향을 미치는 도장용 ITMAP_FLAG
안드로이드와 파이썬에서 동일한 텐서플로라이트 모델을 사용하면서 filter=false일 때 사용된 알고리즘에 대해 조사한 결과 filter=false일 때 가장 가까운 모델(안드로이드 7.1에서 가장 가까운 모델)을 사용하는 것으로 나타났습니다.저는 PIL resample=Image를 사용했을 때 안드로이드와 파이썬에서 동일한 임베딩을 비교했습니다.가장 가까운
언급URL : https://stackoverflow.com/questions/2895065/what-does-the-filter-parameter-to-createscaledbitmap-do
'source' 카테고리의 다른 글
Swift를 사용하여 하나의 View 컨트롤러에 가로 모드 적용 (0) | 2023.09.01 |
---|---|
오라클 pl/sql 배열 (0) | 2023.09.01 |
phpmyadmin sql 탭이 제대로 작동하지 않습니다. (0) | 2023.09.01 |
Google 글꼴 다운로드 및 이 글꼴을 사용하는 오프라인 사이트 설정 (0) | 2023.09.01 |
Android Studio에서 레이아웃 미리보기는 어디에 있습니까? (0) | 2023.09.01 |