이 화면은 https://github.com/seikichi/tiff.js 사이트에서 제공하는 라이브러리를 이용한 TIFF 이미지 뷰어 샘플 화면이다.
템플릿이 저장된 디렉토리의 tiff.min.js 파일을 활용하세요.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
// 화면 로드 이벤트 function screen_on_load() { // TIFF 이미지 처리용 라이브러리 로드 (프로젝트 환경에 따라 경로를 달라질 수 있음) // 템플릿이 저장된 디렉토리의 tiff.min.js 파일을 활용하세요. screen.loadjs( "./ext/lib/tiff.min.js" ); // TIFF 이미지 URL 설정 this .fld_text.settext( "./ext/media/onepage.tif" ); // TIFF 이미지 URL 설정 this .fld_text_multi.settext( "./ext/media/multipage.tif" ); } function btn_load_image_on_mouseup(objInst) { var xhr, _this, tiff, canvas; xhr = new XMLHttpRequest(); xhr.responseType = "arraybuffer" ; xhr.open( "GET" , this .fld_text.gettext()); Tiff.initialize({ TOTAL_MEMORY: 16777216 * 10 }); _this = this ; xhr.onload = function (event) { tiff = new Tiff({buffer: xhr.response}); canvas = tiff.toCanvas(); _this.fld_width.settext(tiff.width()); _this.fld_height.settext(tiff.height()); canvas.style.display = "block" ; // 크기 맞춤 처리시 아래 내용 주석 해제 // _this.div_tiffviewer.setsize(tiff.width() + 2, tiff.height() + 2); // +2 border size _this.div_tiffviewer.getdom().append(canvas); // 캔버스 TIFF 이미지 내용을 image 컴포넌트에 표시 _this.img.setimagedata(canvas.toDataURL()); }; xhr.send(); } function btn_load_imagemulti_on_mouseup(objInst) { var xhr, _this, i, tiff, image_count, canvas, obj_prop, new_div; this .tab.deletealltab(); xhr = new XMLHttpRequest(); xhr.responseType = "arraybuffer" ; xhr.open( "GET" , this .fld_text_multi.gettext()); Tiff.initialize({ TOTAL_MEMORY: 16777216 * 10 }); _this = this ; xhr.onload = function (event) { tiff = new Tiff({buffer: xhr.response}); image_count = tiff.countDirectory(); for (i = 0; i < image_count; i++) { _this.tab.addtab( "image_" + i, 1, 100, "" , true , null , false , false , false ); obj_prop = { x: 0, y: 0, width: 100, height: 100 }; new_div = _this.tab.createobjectex(i, XFD_CTRLKIND_DIV, obj_prop); tiff.setDirectory(i); canvas = tiff.toCanvas(); canvas.style.display = "block" ; new_div.setsize(tiff.width() + 2, tiff.height() + 2); // +2 border size new_div.getdom().append(canvas); } _this.tab.settabitemfocus(0); }; xhr.send(); } |