1. 把字符串绘制在QPixmap上
QPixmap MainWindow::text2Pixmap(QString text)
{
QFontMetrics fmt(m_font);
QPixmap result(fmt.width(text), fmt.height());
QRect rect(0,0,fmt.width(text), fmt.height());
result.fill(Qt::transparent);
QPainter painter(&result);
painter.setFont(m_font);
painter.setPen(QColor(255,143,36));
//painter.drawText(const QRectF(fmt.width(text), fmt.height()),Qt::AlignLeft, text);
painter.drawText((const QRectF)(rect),text);
return result;
}
QSize size(200,200); //指定图片大小;
QImage image(size,QImage::Format_ARGB32); //以ARGB32格式构造一个QImage
//image.fill(qRgba(0,0,0,100));//填充图片背景,120/250为透明度
QPainter painter(&image); //为这个QImage构造一个QPainter
painter.setCompositionMode(QPainter::CompositionMode_DestinationOver);
//设置画刷的组合模式CompositionMode_SourceOut这个模式为目标图像在上。
//改变组合模式和上面的填充方式可以画出透明的图片。
//改变画笔和字体
QPen pen = painter.pen();
pen.setColor(Qt::red);
QFont f