화면내 컴포넌트에 대한 이미지 캡쳐 데이터를 처리한다.
Parameters | Type | Description |
---|---|---|
objTargetScreen | INSTANCE | 화면 인스턴스 |
objTargetComponent | INSTANCE | 대상 컴포넌트 인스턴스 |
strFileName | STRING | [옵션] 파일 저장시 파일 이름 지정 (기본값: 공백문자열) |
objCallbackScreen | INSTANCE | [옵션] 콜백 함수가 포함된 화면 인스턴스 (기본값: null) |
strCallbackFuncName | STRING | [옵션] 이미지 추출 완료시 호출된 함수 이름 (기본값: 공백문자열) |
strImageName | STRING | [옵션] 콜백 함수에 전달될 이미지 이름 (기본값: 공백문자열) |
nImageType | short | [옵션] 이미지 데이터 유형 (기본값: 0) |
nCaptureType | short | [옵션] 캡처 유형 (기본값: 0) |
Type | Description |
---|---|
BOOL | 정상 처리 여부 |
이미지 저장을 위해서, html2canvas.min.js 오픈소스를 사용하고 있으며, 이미지 저장 대상에[ 따라 이미지가 화면에 보이는 것과 다를 수 있다.
getcomponentimagedata API는 비동기 방식으로 동작하므로, 함수 리턴값이 true라고 해서 함수 동작이 완료되었다는 것을 의미하지 않는다.
objCallbackScreen 파라미터 값이 유효하고, strCallbackFuncName 파라미터에 유효한 함수 이름 지정시, 이미지 데이터 처리 완료시 호출된다. 콜백 함수 사용 방식은 샘플 소스를 참조한다.
strImageFileName 파라미터에 유효한 이름 지정시, 이미지 데이터 처리 완료시 이미지 파일 저장 처리가 진행된다.
nImageType 파라미터는 콜백 함수에 전달된 이미지 데이터 유형을 지정한다. 0이 경우, Data URL 형식으로 전달되고, 1인 경우 이미지 데이터만 BASE64로 인코딩된 형태로 전달된다.
nCaptureType 파라미터를 1로 지정 시 화면에 보이는 데로 캡처한다. 전용브라우저 환경에서만 동작하는 옵션이다. 크로미움에서 제공하는 기능을 통해 캡쳐하는 방식으로 화면 깜빡임이 발생한다.
nCaptureType 파라미터를 2로 지정 시 화면에 보이는 데로 캡처한다. 전용브라우저 환경에서만 동작하는 옵션이다. 데스크톱을 기준으로 캡쳐하는 방식으로 작업관리자창에 가려진 경우 정상적으로 캡쳐되지 않을 수 있다.
function btn_on_mouseup(objInst)
{
// Case1. "panel.png" 이름으로 파일 저장 및 이미지 데이터 콜백 함수 호출 처리
factory.getcomponentimagedata(screen, pnl, "panel.png", screen, "on_imagedata_complete", "panel_image", 0);
// Case2. "panel.png" 이름으로 이미지 파일 저장
// factory.getcomponentimagedata(screen, pnl, "panel.png");
// Case3. 이미지 데이터 콜백 함수 호출 처리
factory.getcomponentimagedata(screen, pnl, "", screen, "on_imagedata_complete", "panel_image", 0);
}
/**
* factory.getcomponentimagedata API 콜백 함수
* @param image_data 이미지 데이터 또는 null (오류 발생시)
* @param image_data_name API 호출시 지정한 이미지 이름 (strImageName 파라미터)
* @param image_data_type API 호출시 지정한 이미지 유형 (nImageType 파라미터)
* @param image_file_name API 호출시 지정한 파일 이름 (strFileName 파라미터)
* (전용브라우저 및 nCaptureType 파라미터가 1인 경우 유효)
* @param saved_file_path API 호출시 실제 저장된 파일 절대 경로
* (전용브라우저 및 (nCaptureType 파라미터가 1인 경우 유효)
*/
function on_imagedata_complete(image_data, image_data_name, image_data_type, image_file_name, saved_file_path)
{
if (!image_data) {
screen.alert(image_data_name + " fail");
}
else {
screen.alert(image_data_name + " success");
}
// Case 1. 이미지에 이미지 표현
// this.img.setimagedata(image_data);
// Case 2. 이미지 데이터를 파일로 저장
// screen.savefile(image_data, image_data_name);
}