QFont font(info.strTextFont);
qDebug() << "1.2 开始生成文本图片" << QTime::currentTime().toString("h:m:s");
try
{
// font.setHintingPreference(QFont::PreferNoHinting);
qDebug() << "1.3 开始生成文本图片" << QTime::currentTime().toString("h:m:s");
// QFont::StyleStrategy strategy = static_cast<QFont::StyleStrategy>(QFont::PreferBitmap | QFont::NoAntialias | QFont::NoSubpixelAntialias | QFont::PreferNoShaping | QFont::NoFontMerging | QFont::ForceIntegerMetrics);
// font.setStyleStrategy(strategy);
qDebug() << "1.4 开始生成文本图片" << QTime::currentTime().toString("h:m:s");
font.setPixelSize(info.nTextSize);
qDebug() << "1.5 开始生成文本图片" << QTime::currentTime().toString("h:m:s");
font.setBold(info.bTextBold);
qDebug() << "1.6 开始生成文本图片" << QTime::currentTime().toString("h:m:s");
font.setItalic(info.bTextItalic);
qDebug() << "1.7 开始生成文本图片" << QTime::currentTime().toString("h:m:s");
font.setUnderline(info.bTextUnderLine);
qDebug() << "1.8 开始生成文本图片" << QTime::currentTime().toString("h:m:s");
QFontMetrics fm(font);
QSize textSize = fm.size(Qt::TextSingleLine, info.strText);
qDebug() << "1.9 开始生成文本图片" << QTime::currentTime().toString("h:m:s");
在1.9阶段,获取textSize位置,花费的时间很多,其他阶段就很快,获取文字的尺寸是否还有其他方法?可以加快速度
推测点:
1、加载的字体是新字体,可能第一次加载需要时间
2、加载的字体不存在,系统去找了默认字体