绘制 QImage 时使用 QGradient

问题描述


我想用 alpha 混合和渐变在另一张图像上绘制一张图像。
将原始图像放在边框上并叠加在中心。
qt可以吗?

我想到了一些事情:
QImage imgSrc(pathSrc),imgDst(pathDst);
{
QPainter painter(&imgDst);
QGradientStops stops;
stops << QGradientStop(0.00,QColor::fromrgba(0));
stops << QGradientStop(0.11,QColor::fromrgba(0x22));
stops << QGradientStop(0.13,QColor::fromrgba(0x44));
stops << QGradientStop(0.14,QColor::fromrgba(0x66));
stops << QGradientStop(0.49,QColor::fromrgba(0x88));
stops << QGradientStop(0.87,QColor::fromrgba(0xaa));
stops << QGradientStop(0.96,QColor::fromrgba(0xcc));
stops << QGradientStop(1.00,QColor::fromrgba(0xff));
QRadialGradient grad(40,40,30);
grad.setStops(stops);
painter.setBrush(grad);
painter.setCompositionMode(QPainter::CompositionMode_Overlay);
painter.drawImage(10,10,imgSrc);
}

但是没有任何影响。 (怀疑:QBrush 不是用来绘制 QImage 的)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)