cymera API
사진 촬영과 편집 기능이 필요할 때, 간편하게 싸이메라를 연동해 보세요! 각 OS별로 제공하는 방법을 통해 외부 App에서 싸이메라의 기능을 바로 연결할 수 있습니다.
Android에서 제공하는 Intents and Intent Filters을 사용하여 외부 App에서 싸이메라의 포토앨범 기능으로 연동합니다.
포토앨범에서 사진 선택 후 편집 기능을 실행할 수 있습니다
<Action 정의>
com.cyworld.camera.action. IMAGE_PICK
<Input Parameters>
파라미터 이름 | 타입 | 필수여부 | 설명 | 예시 |
output_dir_name | String | O | 대상 폴더 명 | My app |
output_pic_width | int (px) | X | 출력 이미지 너비 | 600 |
output_pic_height | int (px) | X | 출력 이미지 너비 | 600 |
crop | boolean | X |
이미지 스케일 타입 - true : 요청 사이즈에 맞게 크롭 (center) - false : 요청 사이즈 안에 들어가도록 리사이징 |
true |
* Optional parameter를 입력하지 않는 경우 원본을 기준으로 이미지 생성
<Output Parameters>
파라미터 이름 | 타입 | 설명 |
result_code | int | 결과값 |
picture_uri | Uri | 생성된 이미지 Uri정보 |
<Result code>
코드 | 설명 |
0 | 요청한 사이즈로 이미지가 만들어짐 |
1 | 요청한 사이즈 중 width 값에 맞춰 이미지가 만들어짐 |
2 | 요청한 사이즈 중 height 값에 맞춰 이미지가 만들어짐 |
<Sample Code>
(1) 인텐트 호출 |
Intent intent = new Intent(); intent.addFlags( Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET ); ComponentName compName = new ComponentName( "com.cyworld.camera" , "com.cyworld.cymera.CameraMain" ); intent.setComponent(compName); intent.setAction( "com.cyworld.camera.action.IMAGE_PICK" ); intent.putExtra( "output_dir_name" , "My app" ); intent.putExtra( "output_pic_width" , 640 ); intent.putExtra( "output_pic_height" , 480 ); intent.putExtra( “crop”, true ); startActivityForResult(intent, REQ_CODE); // 이 예제는 My app이라는 폴더를 생성하고 결과물의 크기는 640*480px를 요청하는 것을 보여주고 있음. |
(2) 인텐트 호출에 대한 결과값을 리턴 받는 부분 |
//Activity 내의 onActivityResult내에 위치 protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { switch (requestCode) { case REQ_CODE: if (data != null) { int rcode = data.getIntExtra( “result_code” ); // 결과 코드 Uri uri = data.getParcelableExtra( “picture_uri” ); // 결과 Uri } break; } } else if (resultCode == RESULT_CANCEL) { switch (requestCode) { case REQ_CODE: // Cancel에 대한 처리 break; } } } |
싸이메라 API문의 : help@cymera.com