각각의 폰트 종류와 실제 출력되는 문자열 형태를 확인하기 위한 예제 코드를 코드 4-8에 나타냈습니다. 코드 4-8의 drawText1() 함수는 800×500 크기의 흰색 영상에 다양한 폰트의 문자열을 출력합니다. 각각의 putText() 함수에 의해 출력할 문자열에는 폰트 상수 이름을 지정하였습니다. drawText1() 함수가 정의된 소스 파일은 내려받은 예제 파일 중 ch04/drawing 프로젝트에서 확인할 수 있습니다.
코드 4-8 다양한 폰트로 문자열 출력하기 [ch04/drawing]
01 void drawText1() 02 { 03 Mat img(500, 800, CV_8UC3, Scalar(255, 255, 255)); 04 05 putText(img, "FONT_HERSHEY_SIMPLEX", Point(20, 50), FONT_HERSHEY_SIMPLEX, 1, Scalar(0, 0, 255)); 06 putText(img, "FONT_HERSHEY_PLAIN", Point(20, 100), FONT_HERSHEY_PLAIN, 1, Scalar(0, 0, 255)); 07 putText(img, "FONT_HERSHEY_DUPLEX", Point(20, 150), FONT_HERSHEY_DUPLEX, 1, Scalar(0, 0, 255)); 08 putText(img, "FONT_HERSHEY_COMPLEX", Point(20, 200), FONT_HERSHEY_COMPLEX, 1, Scalar(255, 0, 0)); 09 putText(img, "FONT_HERSHEY_TRIPLEX", Point(20, 250), FONT_HERSHEY_TRIPLEX, 1, Scalar(255, 0, 0)); 10 putText(img, "FONT_HERSHEY_COMPLEX_SMALL", Point(20, 300), FONT_HERSHEY_COMPLEX_SMALL, 1, Scalar(255, 0, 0)); 11 putText(img, "FONT_HERSHEY_SCRIPT_SIMPLEX", Point(20, 350), FONT_HERSHEY_SCRIPT_SIMPLEX, 1, Scalar(255, 0, 255)); 12 putText(img, "FONT_HERSHEY_SCRIPT_COMPLEX", Point(20, 400), FONT_HERSHEY_SCRIPT_COMPLEX, 1, Scalar(255, 0, 255)); 13 putText(img, "FONT_HERSHEY_COMPLEX | FONT_ITALIC", Point(20, 450), FONT_HERSHEY_COMPLEX | FONT_ITALIC, 1, Scalar(255, 0, 0)); 14 15 imshow("img", img); 16 waitKey(0); 17 }
• 5~12행 다양한 폰트를 이용하여 문자열을 출력합니다.
• 13행 FONT_HERSHEY_COMPLEX 폰트와 FONT_ITALIC 상수를 함께 사용하여 이탤릭체로 문자열을 출력합니다.