내용 보기

작성자

관리자 (IP : 172.17.0.1)

날짜

2020-07-09 07:55

제목

[Android] SURFACEVIEW를 이용하여 CAMERA 사용하기 #5 - 촬영된 이미지 저장


마지막으로 MediaStorage에 이미지를 저장합니다.
AndroidCamera App의 takePicture 기능을 구현하여 촬영된 이미지를 저장합니다.
이 때 파일저장권한(퍼미션)을 주어야 하기때문에 AndroidManifest.xml에 권한을 등록하시기 바랍니다.

구현 이미지



AndroidCamera.java

PictureCallback myPictureCallback_JPG = new PictureCallback(){
 
 
 
 @Override
 
 public void onPictureTaken(byte[] arg0, Camera arg1) {
 
  // TODO Auto-generated method stub
 
  /*Bitmap bitmapPicture
   = BitmapFactory.decodeByteArray(arg0, 0, arg0.length); */
 
 
 
  Uri uriTarget = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, new ContentValues());
 
 
 
  OutputStream imageFileOS;
 
  try {
 
   imageFileOS = getContentResolver().openOutputStream(uriTarget);
 
   imageFileOS.write(arg0);
 
   imageFileOS.flush();
 
   imageFileOS.close();
 
  
 
   Toast.makeText(AndroidCamera.this,
 
     "Image saved: " + uriTarget.toString(),
 
     Toast.LENGTH_LONG).show();
 
  
 
  } catch (FileNotFoundException e) {
 
   // TODO Auto-generated catch block
 
   e.printStackTrace();
 
  } catch (IOException e) {
 
   // TODO Auto-generated catch block
 
   e.printStackTrace();
 
  }
 
 
 
  camera.startPreview();
 
 }};
cs


출처1

https://argc.tistory.com/243?category=699460

출처2