코드 4-12의 trackbar 예제 프로그램 실행 결과를 그림 4-10에 나타냈습니다. 프로그램이 실행되면 그림 4-10의 왼쪽 그림처럼 전체가 완전히 검은색으로 채워진 영상이 나타납니다. 그리고 사용자가 마우스를 이용하여 트랙바 위치를 조정하면 그에 해당하는 밝기로 영상이 변경됩니다. 그림 4-10의 오른쪽 그림은 트랙바 위치가 12이므로 12 * 16 = 192에 해당하는 픽셀 값으로 설정된 결과입니다.
▲ 그림 4-10 트랙바를 이용하여 그레이스케일 레벨 표현하기
트랙바를 생성한 후, 트랙바의 현재 위치를 알고 싶다면 getTrackbarPos() 함수를 사용할 수 있습니다. 또한 프로그램 동작 중 트랙바 위치를 강제로 특정 위치로 옮기고 싶다면 setTrackbarPos() 함수를 사용할 수 있습니다. getTrackbarPos() 함수와 setTrackbarPos() 함수 원형은 다음과 같습니다.
int getTrackbarPos(const String& trackbarname, const String& winname); |
|
• trackbarname |
트랙바 이름 |
• winname |
트랙바가 부착되어 있는 창 이름 |
• 반환값 |
지정한 트랙바의 현재 위치 |
void setTrackbarPos(const String& trackbarname, const String& winname, int pos); |
|
• trackbarname |
트랙바 이름 |
• winname |
트랙바가 부착되어 있는 창 이름 |
• pos |
트랙바를 이동할 위치 |