Qt如何将文字变成图片?
例如我要将"Hello"这个单词保存成一个bmp格式的图片,也就是打开这张图片我看到的是Hello这个单词,那么Qt要如何实现呢?...
例如我要将"Hello"这个单词保存成一个bmp格式的图片,也就是打开这张图片我看到的是Hello这个单词,那么Qt要如何实现呢?
展开
1个回答
展开全部
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 font = painter.font();
font.setBold(true);//加粗
font.setPixelSize(50);//改变字体大小
painter.setPen(pen);
painter.setFont(font);
painter.drawText(image.rect(),Qt::AlignCenter,"Hello");
//将Hello写在Image的中心
int n = 100;//这个为图片的压缩度。0/100
image.save("text.png","PNG",n);
//将画好的图片保存起来。
//可以将png改为其他格式
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 font = painter.font();
font.setBold(true);//加粗
font.setPixelSize(50);//改变字体大小
painter.setPen(pen);
painter.setFont(font);
painter.drawText(image.rect(),Qt::AlignCenter,"Hello");
//将Hello写在Image的中心
int n = 100;//这个为图片的压缩度。0/100
image.save("text.png","PNG",n);
//将画好的图片保存起来。
//可以将png改为其他格式
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |