아몰라 2011. 10. 30. 23:14

기본 문자를 출력하고 문자의 정확한 사이즈를 재보고 그것을 활용한다!


void main()
{
 IplImage    *dstImage;
  dstImage = cvCreateImage(cvSize(512, 512), IPL_DEPTH_8U, 3);

 cvSet(dstImage, CV_RGB(255, 255, 255));
 
 CvFont font;   //폰트변수 생성
 cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX, 1.0, 1.0); //폰트 초기화
 cvPutText(dstImage, "OpenCV Programming", cvPoint(100, 100), &font,
                   CV_RGB(0, 0, 0) ); //폰트 그림에 삽입
 CvSize text_size; //폰트 사이즈를 저장해놓기 위한!
 int    baseline;
 cvGetTextSize( "OpenCV Programming", &font, &text_size, &baseline );

//폰트 사이즈 가져오기 baseline은 기준선에서 가장 아래 떨어진 글자에 대한 y좌표의 상대적 거리를 가져온다.
 
 cvRectangle(dstImage, cvPoint(100, 100), cvPoint(100+text_size.width,
                    100-text_size.height), CV_RGB(255, 0, 0));

//가져온 폰트사이즈를 토대로 글씨에 사각형을 그린다.
 
 cvNamedWindow("Drawing Graphics", CV_WINDOW_AUTOSIZE);
    cvShowImage("Drawing Graphics", dstImage);
    cvWaitKey(0);
 
 cvDestroyAllWindows();
 cvReleaseImage(&dstImage);    
}