CvFont的定义和操作
来源:互联网 发布:开源数据建模工具 编辑:程序博客网 时间:2024/05/16 05:17
程序用用到的一些字体操作和设置,贴出来备个份,方便查阅。
主要是cvGetTextSize(text, &font, &text_size, &baseline);
cvPoint(2,text_size.height+baseline)
这样写出的字才对齐得更好些。
pt.x = point.x - text_size.width/2; //这样的设置为字体(左右)居中对齐
if(i==0) pt.y = (AVIFRAME_COLORBAR_HEIGHT-AVIFRAME_BAR_HEIGHT)+10; //设置字体输出的具体位置
//Stage x
CvFont font;
cvInitFont(&font,CV_FONT_HERSHEY_DUPLEX ,1.0f,1.0f,0,1,CV_AA);
char text[20];
sprintf(text,"Stage%d",nIndex);
CvSize text_size;
int baseline;
cvGetTextSize(text, &font, &text_size, &baseline);
cvPutText(aviFrame,text,cvPoint(20,text_size.height+baseline),&font, CV_RGB(255,0,0));
//makeTilte
CvFont font;
cvInitFont(&font,CV_FONT_HERSHEY_TRIPLEX,0.35f,0.7f,0,1,CV_AA);
char* text="Major Strain[%]";
CvSize text_size;
int baseline;
cvGetTextSize(text, &font, &text_size, &baseline);
cvPutText(colorbar,text,cvPoint(2,text_size.height+baseline),&font,CV_RGB(0,0,0));
//写刻度值
double gap=(maxLimit-minLimit)/double(portion);
CvPoint pt;
char buffer[30];
double value;
cvInitFont(&font,CV_FONT_HERSHEY_SIMPLEX ,0.5f,0.5f,0,1,CV_AA);
for(i=0;i<=portion;i++)
{
value = (maxLimit- i*gap)*100;
sprintf(buffer,"%4.2f",value);
pt.x=AVIFRAME_BAR_WIDTH+10;
if(i==0) pt.y = (AVIFRAME_COLORBAR_HEIGHT-AVIFRAME_BAR_HEIGHT)+10;
else if(i==portion) pt.y=AVIFRAME_COLORBAR_HEIGHT-5;
else pt.y=i*AVIFRAME_BAR_HEIGHT/portion+(AVIFRAME_COLORBAR_HEIGHT-AVIFRAME_BAR_HEIGHT);
cvPutText(colorbar,buffer,pt,&font, CV_RGB(0,0,0));
}
void CYnPlot::MakeLabelImage(IplImage** pImage,const char* text,double scale)
{
CvFont font;
cvInitFont(&font,CV_FONT_HERSHEY_TRIPLEX ,0.5f*scale,0.5f*scale,0,1,CV_AA);
CvSize text_size;
cvGetTextSize(text, &font, &text_size, NULL);
if (*pImage) cvReleaseImage(pImage);
*pImage = cvCreateImage(cvSize(text_size.width+5,text_size.height+10),8,3);
cvSet(*pImage,CV_RGB(255,255,255));
cvPutText(*pImage,text,cvPoint(2,text_size.height+3),&font, CV_RGB(0,0,0));
}
void CYnPlot::MakeTitleImage(IplImage** pImage,const char* text)
{
CvFont font;
cvInitFont(&font,CV_FONT_HERSHEY_TRIPLEX ,0.7f,0.7f,0,1,CV_AA);
CvSize text_size;
cvGetTextSize(text, &font, &text_size, NULL);
if (*pImage) cvReleaseImage(pImage);
*pImage = cvCreateImage(cvSize(text_size.width+5,text_size.height+10),8,3);
cvSet(*pImage,CV_RGB(255,255,255));
cvPutText(*pImage,text,cvPoint(2,text_size.height+3),&font, CV_RGB(0,0,0));
}
CvFont font;
CvSize text_size;
cvInitFont(&font,CV_FONT_HERSHEY_SIMPLEX ,0.35f,0.35f,0,1,CV_AA);
CvFont font;
double hscale = 0.2f*_pointSize;
cvInitFont(&font,CV_FONT_HERSHEY_TRIPLEX ,hscale,hscale,0,1,CV_AA);
CvSize text_size;
int baseline;
cvGetTextSize(text, &font, &text_size,&baseline);
CvPoint pt;
pt.x = point.x - text_size.width/2;
pt.y = point.y + (text_size.height+baseline)/2;
cvPutText(m_pPlotImage,text,pt,&font, color);
CvFont font;
double hscale = 0.2f*_pointSize;
cvInitFont(&font,CV_FONT_HERSHEY_TRIPLEX ,hscale,hscale,0,1,CV_AA);
CvSize text_size;
int baseline;
cvGetTextSize(text, &font, &text_size,&baseline);
CvPoint pt;
pt.x = point.x - text_size.width/2;
pt.y = point.y + (text_size.height+baseline)/2;
cvPutText(m_pPlotImage,text,pt,&font, color);
0 0
- CvFont的定义和操作
- OpenCV中CvFont的定义和操作
- CStringArray二维数组的定义和操作
- 存储过程的定义和基本操作!
- AVL树的定义和基本操作
- 单链表的定义和基本操作
- vector的定义和相关操作
- 一维数组的定义和操作
- 线性表的定义和基本操作
- Array、List的定义和操作
- 树的定义和基本操作
- 数组的定义和基本操作
- CvPutText 【CvFont, CvPoint】
- 重载操作符和用户定义的转换
- Scala的私有字段和定义操作符
- C++主要操作符重载的定义和总结
- 广义表的链式定义和基础操作
- memcached的基本操作和简单类定义
- Android开发学习之QQ好友列表的实现
- 学习基础 字符三角形
- 是时候用PerconaDB替换MySQL了
- 一个发现
- uva 424 - Integer Inquiry
- CvFont的定义和操作
- 阅读优秀代码是提高开发人员修为的一种捷径
- 黑马程序员 ado.net
- windows phone真正解决方案:无法启动调试--未安装 Silverlight Developer 运行时。请安装一个匹配版本。
- HDU 4004 The Frog's Games(二分)
- 以NuoDB为代表的NewSQL
- Git操作指南(2)
- JD 1351 数组中只出现一次的数字
- 梦想天空分外蓝,实习结束总结