티스토리 뷰

DIAdem은 데이터 후처리를 위한 프로그램입니다. 수집된 데이터에 특정한 후처리 프로세스를 진행하고 만들어지는 리포트의 특정 차트를 이미지로 생성을 하고 싶을 때 어떻게 해야 할까요?


기본적으로 DIAdem에서는 Save Graphic As이라는 버튼을 통해서 Report의 전체 내역을 이미지로 만들 수 있습니다. 관련 기능을 사용하는 방법은 아래와 같습니다. 



Save Graphic As 버튼을 누르게 되면 이미지 저장을 위한 창이 뜨게 되고 창에서 설정한 값을 기반으로 이미지를 만들 수 있습니다. 




하지만 이는 Report의 전체 크기를 이미지로 저장을 하는 방법입니다. 특정 그래프만 저장을 하고 싶다면 어떻게 해야 할까요?

특정 그래프만을 저장하기 위해서는 Report의 객체 중 저장하고자는 객체만 이미지로 저장을 하는 방법이 있습니다. 이미지 저장을 위해서는 VBScript 기반으로 구현을 해야합니다. 관련 코드는 아래와 같습니다. 


Option Explicit  'Forces the explicit declaration of all the variables in a script.


Dim oMyReportObj, oMyReportObjects, i

Report.Settings.ImageExport.PNG.BitsPerPixel = ePNGBitsPerPixelRGB24

Report.Settings.ImageExport.PNG.Height = 300

Report.Settings.ImageExport.PNG.UseRatio = True

i = 0

Set oMyReportObjects = Report.ActiveSheet.Objects

For Each oMyReportObj in oMyReportObjects

  If oMyReportObj.ObjectType = eReportObject2DAxisSystem Then

    Call oMyReportObj.ExportToImage("c:\" & "test" & i & ".png", eImageExportTypePNG)   

    i = i+1

  End If

Next


코드를 간략히 설명 드리자면, 먼저 Report 객체의 ImageExport에 대한 설정을 처리합니다. 

PNG 파일로 Export할 때 Image의 속성을 처리하는데, 여기에서는 Pixel당 비트 수, 이미지 크기, Ratio 사용 여부를 결정합니다. 


그리고 나서 Report의 Active된 Sheet의 모든 Object를 가지고와서 오브젝트들 중 2DAxisSystem이 있는지를 찾아보고 모든 2DAxisSystem을 지정된 경로에 PNG(eImageExportTypePNG)타입으로 저장을 하게 됩니다. 


위의 코드를 실행시키시면 c:\ 폴더에 아래와 같은 test0.png가 생성이 되는 것을 확인할 수 있습니다.



이 글에서는 DIAdem의 특정 차트를 이미지로 저장하는 방법을 알아보았습니다.


이 글이 도움이 되셨나요? 그렇다면 아래의 그림을 클릭해주세요.


댓글