4일째입니다.ㅠ

검색 능력이 부족한지, 백날 검색해서 찾은 것들이 다들 헛수고입니다.


지금 제 프로그램은,

버튼을 누르면 SurfaceView가 있는 액티비티를 호출하고, 거기서 카메라로 사진을 촬영합니다.

촬영한 사진은 FileOutputStream을 통해 외부저장소에 저장됩니다.

/mnt/sdcard/bestclinic.jpg

쌓으려는 데이터가 아니라서 파일명은 고정입니다.

잘 저장 됩니다.

이걸 인텐트에 넣어서 ActivityResut로 보냅니다.

intent.setData(Uri.fromFile(file));

위에 쓰인 file은 File file = new File("/mnt/sdcard/bestclinic.jpg"); 입니다. (편의상; 사실은 sdcard디렉터리의 절대경로를 얻어옵니다.)


되돌아온 액티비티에서도 파일 경로는 제대로 받습니다.

근데 여기서 문제입니다.

기존의 ImageButton에 setImage를 하려는데 자꾸 들어가질 않습니다.

코드는 onActivityResult에 있구요.

해본 방법은,

button.setImageURI(data.getData());

안됩니다;


FileInputStream을 이용한 BitmapFactory.decodeStream(inputStream, null, null);

이건 setImageBitmap()에서 에러가 납니다.

BitmapFactory.decodeFile(uri.getPath());

역시 setImageBitmap()에서 에러가 납니다.


카메라 액티비티에서 uri를 넘겨주는데, 저렇게 file이나 string으로 만든 uri로도 제대로 작동 하는지 모르겠습니다.

그리고 BitmapFactory를 이용해 비트맵을 얻으면 변수에 비트맵이 들어가긴 합니다만

mHeight와 mWidth 가 -1입니다. 이건 제대로 얻어온게 아닌거죠?

도저히 문제를 알 수 없습니다 ㅠ

카메라 액티비티에서 비트맵을 가져오려고 했더니 용량초과로 액티비티 전환 자체가 안되더라구요 ㅠ

lifecluee@gmail.com