QT画图教程7:QT实现透明度匹配及渐变等功能

首先要说明,QT对图像进行修改的类是QImage,然后之后有QPen,QBrush,QFont等类对其进行斧正,进行线条,填充,文字等的修改

用QT载入类指针的方法:

QImage *image = new QImage("d:/卷毛.jpg");


下面给出几个优秀的代码实例:

QT实现渐变效果:


    QPainter painter(image);
    QRadialGradient radialGradient(QPointF(x1, y1), 50, QPointF(275, 200));
    radialGradient.setColorAt(0, QColor(255, 255, 100, 150));
    radialGradient.setColorAt(1, QColor(0, 0, 0, 50));
    painter.setBrush(radialGradient);
    painter.drawEllipse(QPointF(x1, y1), radius, radius);


QT实现画扇形半透明

    startAngle = startAngle*16;           //startAngle算法跟其他的都是一致的    
    spanAngle = spanAngle*16;             
    QPainter painter(image);
    QBrush brush;
    painter.setPen(QPen(Qt::blue,5,Qt::DotLine));
    painter.setBrush(QBrush(Qt::CrossPattern));
    painter.setBrush(QBrush(QColor(245,36,27,128)));     //前三位表示色素,后面的一位表示透明度,越接近于255越不透明
    painter.drawPie(x1,y1,x2,y2, startAngle, spanAngle);


QT实现用颜色画线

      

    QPainter painter(image);
    painter.setPen(QPen(Qt::black,5,Qt::DotLine));
    painter.drawLine(x1,y1,x2,y2);

你可能感兴趣的:(QT画图教程7:QT实现透明度匹配及渐变等功能)