cymera

Developer

cymera API

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

Android에서 제공하는 Intents and Intent Filters을 사용하여 외부 App에서 싸이메라의 촬영 기능을 호출하며,
싸이메라 지정 호출 방식과 Broadcast 방식 두 가지 중에 선택하여 사용하실 수 있습니다.

싸이메라 지정호출

<Action 정의>

com.cyworld.camera.action.IMAGE_CAPTURE

<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_CAPTURE" );
    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);
    								
(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;
    		}
    	}
    }
    
    

Broadcast

아래의 Action 과 Mime type 을 지정하여 호출하며, Application Chooser에 싸이메라가 추가되어 촬영 기능이 연동됩니다.

<Action 정의>

Intent.ACTION_SEND

Intent.ACTION_VIEW

* 위 목록에서 택 1

<Mime type>

“image/jpg”

“image/png”

“image/*"

* 위 목록에서 택 1

<Sample Code>

Result code
(1) 인텐트 호출 1
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_SEND);
    intent.setType("image/png");
    startActivity(intent);
(2) 인텐트 호출 2
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_VIEW);
    intent.setType("image/*");
    startActivity(intent);
    
싸이메라 API문의 : help@cymera.com