IDL/New Graphics

NG 체계에서 그림 저장시 크기 관련 이슈

이상우_idl 2022. 2. 22. 14:42
728x90
반응형

오늘은 NG 체계에서 그림을 파일로 저장할 때 발생할 수 있는 그래픽 요소들의 크기와 관련된 이슈에 관하여 언급해보고자 합니다. 사실 이 이슈는 NG 체계에서 그림을 표출한 후 비트맵 형식(PNG, JPG 등)의 파일로 저장할 때 나타날 수 있습니다. 물론 IDL 사용자들 모두가 겪는 일반적인 이슈가 아님을 먼저 밝혀둡니다. 하지만 만약 발생할 경우의 증상을 보면 그래픽창에서 표출된 그림에서 그래픽 요소들(주로 문자들)의 크기가 원래 의도했던 것보다 너무 크게 나타나는 현상입니다. 그러면 일단 어떤 현상인지 보기위하여 간단한 예제 그림을 다음과 같이 표출하고 파일로 저장해봅시다.

 

win = WINDOW(DIMENSIONS=[600, 500], /NO_TOOLBAR)
x = FINDGEN(101)
y = SQRT(x)
p = PLOT(x, y, XTITLE='X Value', YTITLE='Y Value', $
  COLOR='salmon', THICK=2, FONT_SIZE=12, /CURRENT)
win.Save, 'plot_ng.png', WIDTH=600

 

여기서는 그래픽창의 크기를 600x500으로 설정하여 그림을 표출하고 이를 PNG 파일로 저장하였습니다. 이와 같은 내용을 실행하여 저장된 PNG 파일의 모습은 정상적인 경우라면 다음과 같을 것입니다.

 

 

그리고 이 PNG 파일에 대한 정보를 조회해보면 화소 크기 역시 600x500으로 확인될 것입니다. 그런데 동일한 프로그램을 실행하여 저장된 PNG 파일의 모습이 어떤 경우에는 다음과 같이 나타날 수도 있습니다.

 

 

이 파일의 경우 화소 크기는 600x500이긴 하지만 그 모습을 보면 문자들이 원래 의도했던 것보다 너무 크게 표시되어서 이와 같이 화면이 모자란듯한 느낌을 줍니다. 실제로 이 그림에서는 Y축 타이틀 문자는 아예 그림 바깥으로 벗어나있습니다. 이러한 현상의 원인은 IDL이 설치된 PC의 디스플레이 설정과 관련이 있습니다. 특히 태블릿 계열의 PC들에서 흔히 존재하는 "배율"이라는 요소가 주된 원인인 것으로 보입니다. 실제로 위의 그림은 제가 서피스 프로 4(Surface Pro 4)에 설치된 IDL을 사용하여 얻은 PNG 파일의 모습입니다. 이 기기의 디스플레이 설정을 보면 실제로 다음과 같습니다.

 

 

이와 같이 "크기 변경" 및 "배율"이라는 항목이 200%로 설정이 되어 있습니다. 아마도 태블릿 계열의 PC들의 화면 인치수가 물리적으로 그리 큰 편은 아니기 때문에, 화면 해상도가 FHD 또는 그 이상이 될 경우 글자 등이 너무 작게 보이는 문제가 발생할 수 있어서 이러한 배율이라는 요소가 들어간 것 같습니다. 만약 이 배율에 대한 설정을 100%로 변경한 후 프로그램을 다시 실행하면 위와 같은 증상은 사라지고 다시 정상적인 모습의 그림 파일을 얻을 수 있을 것입니다. 이러한 방법으로 얻은 그림 파일의 모습은 다음과 같습니다.

 

 

하지만 배율을 100%로 설정하게 되면 PC의 화면상에서 글자나 여러가지 요소들이 매우 작게 보이게 되어서 불편해질 가능성이 큽니다(노안일 경우는 정말 괴롭습니다 ㅠㅠ). 따라서 눈이 편하려면 배율은 그냥 200% 또는 150% 등과 같은 값으로 설정된 채 두는 것이 좋은데, 이러한 상태에서도 정상적인 그림 파일을 얻으려면 어떻게 해야 할까요? 이 경우에는 처음에 그래픽창의 크기를 설정할 때 배율을 고려하여 보정을 해주는 것이 해결책이 될 수 있습니다. 만약 배율이 200%인 경우를 가정한다면 프로그램의 내용에서 WINDOW 함수가 사용된 부분만 다음과 같이 변경합니다.

 

win = WINDOW(DIMENSIONS=[600, 500]*2, /NO_TOOLBAR)

 

즉 이와 같이 정상 크기인 600x500의 2배인 1200x1000으로 그래픽창의 크기를 설정하는 것입니다. 이렇게 한 다음에 프로그램을 다시 실행하여 그림 파일을 얻어보면 다음과 같은 모습을 보이게 됩니다.

 

 

지금은 배율이 200%인 경우를 가정했기 때문에 2배를 해준 것이며 만약 배율이 150%라면 1.5배를 해주면 될 것입니다. 따라서 혹시라도 NG 체계에서 그림을 표출하고 파일로 저장했을 때 그림 파일의 모습이 원래 의도와 다르게 나타난다면 위와 같은 방법이 하나의 해결책이 될 수 있다는 점을 염두에 두시면 좋을 것 같습니다. 그리고 제가 앞서 배율이라는 개념이 태블릿 계열의 PC들에서 흔히 사용되는 것 같다고 언급을 했지만, 어쩌면 일부 데스크탑 PC들의 경우도 해당될 가능성도 있습니다. 물론 저도 여러가지 사례들을 모두 겪어본 것은 아니라서 정확하게 파악하고 있지는 못합니다.

 

이러한 증상은 제가 확인한 바로는 NG 체계의 그림 표출 및 저장에 대해서만 발생 가능하고 DG 체계에서는 이러한 증상은 나타나지 않는 것 같습니다. 따라서 주로 NG 체계에서 그림 표출 및 저장 작업을 하면서 이러한 증상을 겪고 계시다면 오늘 소개한 방법을 한번 고려해보시기 바랍니다. 물론 가장 완벽한 해결책은 배율을 100%로 설정해놓고 작업하는 것이긴 합니다만, 이렇게 하면 눈이 괴로울 가능성이 크기 때문에 차선책으로서 위와 같은 방법도 있다는 정도로 생각해두시면 될 것 같습니다.

반응형