[Android] Get image from gallery

개요

앨범에서 이미지를 선택하도록 액티비티를 호출하고 onActivityResult() 함수를 통해 해당 이미지에 접근하는 소스

앨범 호출 소스

[code lang="java"] Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);
intent.setType("image/*");
startActivityForResult(intent, 1004);
[/code]

선택된 이미지 가져오기 소스

[code lang="java"] protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if (requestCode == 1004 && resultCode == RESULT_OK) {

try {
Uri imageUri = data.getData();

Bitmap selPhoto = Images.Media.getBitmap(getContentResolver(), imageUri);

// 겔러리에서 받아온 이미지가 너무 크면 Out of Memory 가 발생함으로 1/4로 스케일 해준다.
Bitmap resized = Bitmap.createScaledBitmap(selPhoto, selPhoto.getWidth() / 4, selPhoto.getHeight() / 4, true);

// 축소한 이미지를 라운드 처리해주는 과정
Bitmap rectImage = BitmapHelper.getRoundedCornerBitmap(this, resized, 20);

ImageBox.setImageBitmap(rectImage);
ImageBox.setScaleType(ImageView.ScaleType.FIT_XY);

} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
[/code]

BitmapHelper 클래스는 해당 포스트를 참고하세요.

Subscribe
Notify of
guest
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Taeil86s
Taeil86s
9 years ago

정말 감사합니다.
갤러리에서 이미지 불러와서 띄우는거 한참 고민했는데 덕분에 쉽게 해결했습니다.
새해복많이받으세요~