cymera

Developer

cymera API

사진 촬영과 편집 기능이 필요할 때, 간편하게 싸이메라를 연동해 보세요! 각 OS별로 제공하는 방법을 통해 외부 App에서 싸이메라의 기능을 바로 연결할 수 있습니다.

Android에서 제공하는 Intents and Intent Filters을 사용하여 외부 App에서 싸이메라의 포토앨범 기능으로 연동합니다.
포토앨범에서 사진 선택 후 편집 기능을 실행할 수 있습니다

<Action 정의>

com.cyworld.camera.action. IMAGE_PICK

<Input Parameters>

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>

Output Parameters
파라미터 이름 타입 설명
result_code int 결과값
picture_uri Uri 생성된 이미지 Uri정보

<Result code>

Result code
코드 설명
0 요청한 사이즈로 이미지가 만들어짐
1 요청한 사이즈 중 width 값에 맞춰 이미지가 만들어짐
2 요청한 사이즈 중 height 값에 맞춰 이미지가 만들어짐

<Sample Code>

Result 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