답변:
SKIA 소스 코드를 빠르게 살펴보면 최소한 기본적으로 FILTER 플래그가 양방향 이중 보간을 수행함을 나타냅니다. 예상 결과가 무엇인지 보려면 Wikipedia 또는 선호하는 그래픽 참조를 확인하십시오. 일반적으로 이미지를 업 사이징 할 때는 이중선 또는 쌍 입방 보간을 수행하고 이미지를 다운 사이징 할 때는 영역을 평균화하려고합니다. 필터링하지 않고 크기를 조정할 때 Android / Skia에서 간단한 서브 샘플링을 수행한다는 인상을 받았지만 (수정은 기쁘지만) 크기를 줄인 경우에도 필터링을 통해 더 나은 결과를 얻을 수 있습니다. (보간법을 사용하여 일련의 50 % 스케일 축소를 수행하는 고품질 다운 사이징을 얻는 다른 방법이 있습니다. http://today.java.net/pub/a/today/2007/04/03/perils-of- image-getscaledinstance.html 자세한 내용은.)
카란의 대답에 확장하려면 : 일반적으로 당신이 당신의 이미지 크기 조정하는 경우에 당신은 어떤 차이를 볼 수 없습니다 아래로 당신이 그것을 확장하는 경우,하지만 당신은 것 까지 .
전달 filter = false
하면 이미지가 고르지 않고 픽셀로 표시됩니다.
통과 filter = true
하면 가장자리가 더 부드러워집니다.
그러나 EIYeante가 의견에서 지적했듯이 여전히 차이가있을 수 있습니다. 이것이 그들의 예시 이미지입니다.
bm = MediaStore.Images.Media.getBitmap(this.getContentResolver(), intent.getData()); resizedBitmap = Bitmap.createScaledBitmap(bm, 150, 150, true); resizedBitmap.compress(Bitmap.CompressFormat.JPEG, 95, out);
필터 매개 변수를 변경하고 있습니다.
필터는 비트 맵이 사용자가 제공 한 값에 따라 변환 될 때 비트 맵의 샘플링에 영향을주는 페인팅을 위해 FILTER_BITMAP_FLAG 를 설정합니다 .
파티에 약간 늦었지만 샘플 이미지 일부로 문제가 명확해질 수 있다고 생각했습니다.
안드로이드의 API는 어떤 종류의 필터를 적용할지 지정하지 않으므로 질문은 다음과 같습니다. 픽셀을 그대로 (8 비트 아트에서 원하는대로) 유지 하시겠습니까? (사진에서 원하는대로) 이미지를보다 맛있게 만듭니다.
수퍼 유저 에서 필터링 여부와 방법에 대한보다 일반적인 질문이 있습니다 .
Jeff Atwood의 말 :
일반적으로 더 큰 이미지를 더 작은 이미지로 만들 때는 약간의 선명 효과를, 더 작은 이미지를 더 큰 이미지로 만들 때는 약간의 흐리게 효과를 원합니다.