场景:我有一张图,在图片里添加文字,怎样计算适合图片的最大字体呢?可以用方法获得最适合的字体

项目环境:Qt 4.8.4  + VS2010

测试 :

QString str="www.istonsoft.com";
QFont font;
font.setPointSize(1);
qDebug()<<calcFontSize(str,font,1024,768);// 1024 768 代表图片宽高

函数:


int calcFontSize(const QString aText, QFont& aFont,int w ,int h)
{
int fontPointSize;
int wd_width=w;
int wd_hgt=h;
int i=1;
while(i)
{
aFont.setPointSize(i);
QFontMetrics fm(aFont);
int x = fm.width(aText);
int y = fm.height();
if ((x > wd_width) || (y > wd_hgt))
{
fontPointSize = i-1;
break;
}
i++;
}
aFont.setPointSize(fontPointSize);
return fontPointSize;
}

效果图:

Qt 如何获得适合图片的最大字体!_图片