使用QT实现简单艺术字

    本来这篇文章在前一段时间就该发表的,无奈最近心情一直不太好,今天稍微好了一点,赶紧补上,以作备忘录.

    首先需要明确三点知识:(1)QPen是用来画线条的(2)QBrush是用来填充的 (3)QPainterPath是用来指定绘制路径的。

     不想多说,直接给出代码,具体意思自己思考:

        QPainter pa(mp_image);
        QPen myPen;
        myPen.setWidth(m_line_width);//线宽
        myPen.setColor(m_line_color);//线条颜色

        pa.setRenderHint(QPainter::Antialiasing,true); //反交错
        pa.setPen(myPen);

        //QLinearGradient linearGrad(QPointF(200,0),QPointF(200,0));
        QLinearGradient linearGrad;
        if(mb_fill_transparent){
            linearGrad.setColorAt(0,Qt::transparent); //字体透明 只有边框
        }else{
            linearGrad.setColorAt(0,m_fill_color);    //字体利用m_fill_color颜色来填充
        }

        QPainterPath textPath;
        textPath.addText(r.left(),r.bottom()-10,m_font,s);
        pa.setBrush(linearGrad);
        pa.drawPath(textPath);
这样的话就能实现手动的设定文本的线条宽度 颜色,填充区是否透明以及填充区的颜色设定等值。由于时间有限,笔者不能提供测试代码,请读者自行完成,抱歉!




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值