휴대 전화의 저장소에서 비트 맵을 가져 오는 방법에는 여러 가지가있는 것처럼 보입니다.휴대 전화 저장소에서 비트 맵을 가져오고 크기를 조정하는 가장 좋은 방법
MediaStore 쿼리를 사용하여 모든 이미지의 데이터를 읽고 있으므로 경로와 imageId를 메모리에 저장합니다. 그런 다음 나중에 이미지의 작은 축소판을 업로드하려는 경우 다음 중 하나를 수행 할 수 있습니다.
1) 이미지 ID를 기반으로 축소판/소형 종류에 대한 mediastore를 쿼리 한 다음 내 크기에 맞게 축소 된 비트 맵을 만듭니다 정확한 요구 (마이크로/미니 정확한 크기가 아닌 경우)
Bitmap bm = MediaStore.Images.Thumbnails.getThumbnail(context.getContentResolver(), imageId, MediaStore.Images.Thumbnails.MINI_KIND, null);
Bitmap.createScaledBitmap(bm, (int)newWidth, (int)newHeight, true);
또는
2
)는 파일 위치에서 비트 맵을 가져오고 그Bitmap bitmap = BitmapFactory.decodeFile(url);
Bitmap.createScaledBitmap(bitmap, (int)newWidth, (int)newHeight, true);
에서 스케일 맵을 만들
원본 크기 이미지를 크기 조정 된 비트 맵을 만드는 것보다 createScaledBitmap 프로세스를 더 빨리 끝낼 수있는 mediastore에서 썸네일 생성이 빠를 것이라고 생각했기 때문에 원래 # 1을 수행했습니다. 최선의 방법이 있습니까? 아니면이 차이가 완전히 무시할 수 있습니까?
정확히 내가 생각하고 있었던 것. 차이를 만들 수있는 누락 된 것이 있는지 확실하지 않았습니다. – pat