마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

uri 로 이미지를 받아서 bitmap 전환해서 이미지뷰에 넣어서 좌표구하기

0 추천

현재 uri로는 이미지뷰에 나타나는데요. bitmap으로 변환시켜서 이미지뷰에 나타내고 좌표를 구할려고합니다. 

어느부분이 잘못된건가요?

	
photo = mIntent.getStringExtra("uri");

	mImageView = (ImageView) findViewById(R.id.imgview);

		mIntent = getIntent();

		mUri = Uri.parse(photo);

		if (photo != null) {

			try {
				bm = Images.Media.getBitmap(getContentResolver(), mUri);
				mImageView.setImageBitmap(bm);

			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			mImageView.setImageBitmap(bm);

		}	

 

너무어렵다ㅠ (650 포인트) 님이 2015년 3월 4일 질문

2개의 답변

+1 추천
 
채택된 답변
 
 
    mImageView = (ImageView) findViewById(R.id.imgview);
 
        mIntent = getIntent();
        photo = mIntent.getStringExtra("uri");
 
 
        if (photo != null && !photo.isEmpty()) {
 
        if(gno.indexOf("file://") == -1)
            photo = "file://"+photo;
        mUri = Uri.parse(photo);
 
            try {
                bm = Images.Media.getBitmap(getContentResolver(), mUri);
                mImageView.setImageBitmap(bm);
 
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            mImageView.setImageBitmap(bm);
 
        }   
 
이렇게 해보세요.
이드로이드 (22,930 포인트) 님이 2015년 3월 4일 답변
너무어렵다ㅠ님이 2015년 3월 4일 채택됨
아 되네요 감사합니다!!
0 추천

일단 uri 경로를 확인해 보세요.

uri 경로가 외부 서버에 있는 이미지 주소는 아니겠죠?

 

그리고 현재 문제와는 별 상관 없지만,

setImageBitmap 을 두번 해주는 이유는 무엇인가요.

mUri = Uri.parse(photo);도 photo null 체크 아래 넣는게 좋을듯합니다.

if (photo != null && !photo.isEmpty()) {
 mUri = Uri.parse(photo);
...
이드로이드 (22,930 포인트) 님이 2015년 3월 4일 답변
수정하다가 잘못올렷네요.
이런식으로 해도 안되네요 경로도 로그로 봤는데 잘넘어오구요
        if (photo != null) {
            mUri = Uri.parse(photo);

            try {
                Bitmap bm = Images.Media.getBitmap(getContentResolver(), mUri);
                mImageView.setImageBitmap(bm);

            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }
브레이크 포인트 찍어서 한줄씩 실행해 보세요.
예외로 빠진다면. e.getMessage() 의 값이 어떻게 되는지 확인해 보시구요.
mIntent = getIntent();

이걸


     
photo = mIntent.getStringExtra("uri");

이거 위로 올리세요.
java.io.FileNotFoundException: No content provider: /storage/emulated/0/face.png
이렇게나오네요. 경로는 맞습니다.
...