ㅇ ㅏ....
구현 하고자 하는게, 사진을 찍은 뒤... 그 사진을 가져와서 그 사진에 장난을 치고 싶은데요.
(사진 위에 다른 사진을 올린다던지...)
사진을 찍고, SD 카드에 저장 하고, 그 뒤에 이제... 장난을 치고 싶은데..
잘 안되네요.
intent로 다른 클래스를 불러 오고 싶은데요,
어떻게 하면 좋을까요.. ㅠㅠ
파일 첨부 할게요^^
허접한 답변이라도.. 기다리겠습니다!
나도 훌륭한 앱 개발자가 되는 그날까지.. 여러분 화이팅~
앗~ 물어보고 싶었던 거였는데 ㅠㅠ 고맙습니다~
카메라 객체를 얻어서 하는것보다 인텐트로 이미 있는 카메라를 호출하는게 훨씬 나은것 같네요~
그런데 예제 소스중, 갤럭시 S 로 실행할경우 onActivityResult 받으면서 data 를 setText 하는도중에 오류가 발생하네요~
해결방법을 찾아보고 있습니다~ㅎㅎ 갤럭시S 의 먼가가 문제인듯-"-
혹시 해결하셨으면 정보좀 공유 부탁드립니다!
if (resultCode != RESULT_OK) {
return;
에뮬레이터에서는 그냥 오류가 나구요, 모토로이에서 테스트 해 보니 괜찮네요; ㅎㅎ
별로 도움이 안될지 모르지만, 디버깅을 해보니 onActivityResult 의 data 로 null 이 넘어오네요;;
MediaStore.ACTION_IMAGE_CAPTURE 의 data 값은 원래 null 인건지;; 에뮬레이터에서 일단 그러하고 갤럭시S는 지금없어서 태스트 못해봤습니다^^;;
갤럭시탭 7.0 에서 테스트 함. 잘되네요..
사진찍은후 바로 가져오는 것은 bitmap 이용해서 imageview에 적용하고
기존 이미지를 가져오는 것은 uri 이용해서 imageview에 적용하니까 잘 되네요.. 다른기기에서도 아래코드 테스트 해보시고
잘 되시는지 댓글좀 달아주셔요..~
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class SNSfinder_info extends Activity {
private int TAKE_CAMERA = 1; // 카메라 리턴 코드값 설정
private int TAKE_GALLERY = 2; // 앨범선택에 대한 리턴 코드값 설정
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.snsfinder_info);
Button btncamera = (Button) findViewById(R.id.btncamera);
Button btnlist = (Button) findViewById(R.id.btnlist);
btncamera.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_CAMERA);
}
});
btnlist.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, TAKE_GALLERY);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (requestCode == TAKE_CAMERA) {
if( data != null )
{
Log.e("Test", "result = " + data);
Bitmap thumbnail = (Bitmap)data.getExtras().get("data");
if( thumbnail != null )
{
ImageView Imageview = (ImageView) findViewById(R.id.imgview);
Imageview.setImageBitmap(thumbnail);
}
}
} else if (requestCode == TAKE_GALLERY) {
if( data != null )
{
Log.e("Test", "result = " + data);
Uri thumbnail = data.getData();
if( thumbnail != null )
{
ImageView Imageview = (ImageView) findViewById(R.id.imgview);
Imageview.setImageURI(thumbnail);
}
}
}
}
}
}