海明小威 2016-12-07 07:25 采纳率: 0%
浏览 1608

Qt文字渲染图片字体颜色改变不了

工作中要利用Qt实现文字渲染为图片的功能。按照网上查找出来的例子,通过创建QImage填充(fill)一个图片作为背景,然后通过设置QPainter的QFont和QPen来编辑文字格式和图片,渲染出来的文字字体都是黑色的,改变QPen的颜色也没有,但是不填充背景图片就可以改变颜色,下面贴出代码:
#include "renderimage.h"
#include

#include

int main(int argc, char *argv[])
{
QApplication a(argc, argv);

QSize size(400,300); //指定图片大小;
QImage image(size,QImage::Format_ARGB32); //以ARGB32格式构造一个QImage,

// image.fill(qRgba(255,200,200,0));//填充图片背景,120/250为透明度
image.load("background.jpg");

QPainter painter(&image); //为这个QImage构造一个QPainter
painter.setCompositionMode(QPainter::CompositionMode_SourceOut);

//改变画笔和字体
QPen pen = painter.pen();
pen.setColor(QColor(255, 0, 0, 255));
QFont font = painter.font();
font.setBold(true);//加粗
font.setPixelSize(50);//改变字体大小

painter.setPen(pen);
painter.setFont(font);
painter.drawText(QPoint(25, 50), "吃炸鸡!");

pen.setColor(QColor(0, 255, 0, 255));
font.setItalic(true);
painter.setPen(pen);
painter.drawText(QPoint(25, 100), "吃炸鸡!");

image.save("image.bmp","bmp",100);
  • 写回答

2条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘