镜像模式后如何在qt中合并两个图像?

How to merge two images in qt after mirroring mode?

我需要镜像。我已经完成了那部分,但是当调用此函数时,原始图像在我的图像区域中消失了。我保存了原始图像并使用 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();

QPainter::CompositionMode_DestinationOver

The alpha of the destination is used to blend it on top of the source pixels.

如果您的图像没有 alpha 通道,您将看不到任何差异。

此外,您的代码中还有其他问题。

  • 不需要自己绘制图像
  • painter.end(); 不需要
  • 设置合成模式已通过 painter.setCompositionMode();
  • 完成
  • 绘图之间设置了合成模式


QPainter painter(mImage);
painter.setCompositionMode(QPainter::CompositionMode_DestinationOver);
painter.drawImage(0, 0, reflection);