我需要镜像一个图像。我完成了那部分,但是当调用此函数时,原始图像在我的图像区域消失了。我保存了原始图像,使用QPainter绘制了原始图像然后镜像,认为两个图像都将被合成。我还是只得到了镜像。我想在我的一个图像区域上显示镜像和原始图像。这是我到目前为止所拥有的。
QImage* Original= mImage; //original image
QImage reflection = mImage->mirrored(true,false);//mirror the original image
QPainter painter(mImage);
painter.CompositionMode_DestinationOver;
painter.drawImage(0, 0, *mImage);
painter.drawImage(0, 0, reflection);
painter.end();
答案 0 :(得分:0)
的QPainter :: CompositionMode_DestinationOver
目的地的alpha用于将其混合在源的顶部 像素。
如果您的图片没有Alpha通道,您将看不到任何差异。
此外,您的代码中还有其他问题。
painter.end();
是不必要的painter.setCompositionMode();
QPainter painter(mImage);
painter.setCompositionMode(QPainter::CompositionMode_DestinationOver);
painter.drawImage(0, 0, reflection);