728x90
Mac의 최신 OS인 Lion이 아직까지(8.1버전 현재) IDL의 공식 지원 OS가 아니라는 것은 지난번에 언급을 한 바 있습니다. 물론 사용은 가능하지만, 간혹 예기치못한 문제들이 몇몇 있는데 지금 언급하려는 것도 그 중 하나입니다. 그래픽 윈도우상에 그려진 내용을 캡쳐하기 위하여 TVRD라는 함수를 쓰는데, OS X Lion에서는 이를 사용할 때 발생하는 문제가 있습니다. 다음과 같이 간단하게 플롯을 하나 그리고 이 화면을 캡쳐한다고 합시다.
WINDOW
PLOT, INDGEN(100)
im = TVRD()
이렇게 하면 캡쳐가 제대로 안되고 다음과 같은 오류메시지가 여러 줄에 걸쳐 나옵니다.
% X windows protocol error: BadMatch (invalid parameter attributes).
% X windows protocol error: BadMatch (invalid parameter attributes).
% X windows protocol error: BadMatch (invalid parameter attributes).
..................................
원인이야 뭔가 구구절절 있겠지만, 다행히도 해결방법은 간단합니다. 다음과 같이 처음에 윈도우를 생성할 때 RETAIN이란 속성에 2라는 값을 부여하면 됩니다.
WINDOW, RETAIN=2
PLOT, INDGEN(100)
im = TVRD()
아니면 작업을 시작하기에 앞서 아예 DEVICE 명령에서 이러한 설정을 해줘도 됩니다.
DEVICE, RETAIN=2
어쨌든 이와 같이 해주면 오류없이 TVRD 함수를 제대로 사용할 수 있습니다. 해결책이 간단하다고 해서 이 문제가 계속 지속되어도 괜찮을 수는 없겠지요. 다음 버전에서는 OS X Lion을 공식지원하면서 이러한 문제도 당연히 해결될 것으로 기대합니다.
LIST
'IDL > Direct Graphics' 카테고리의 다른 글
DG 그래픽 체계에서 Z-buffer에 그림을 그리고 저장하는 방법 (0) | 2012.11.21 |
---|---|
플롯상의 각 점들을 서로 다른 색상으로 표출하는 방법 [2] (0) | 2012.07.27 |
극좌표계에서 벡터 표출하기 (0) | 2012.02.07 |
PostScript에서 플롯과 이미지를 함께 표출하기 [1] (0) | 2011.11.07 |
불연속적인 색상분포의 컬러테이블을 사용하려면? (0) | 2011.10.24 |