Qt4 如何从QMimeData检索具有正确alpha通道的正确图像

Qt4 如何从QMimeData检索具有正确alpha通道的正确图像,qt4,Qt4,如果我们将带有alpha通道的图像拖动或复制到应用程序/剪贴板,那么使用Qt会丢失alpha通道。 使用: QImage clipImage=pMimeData->imageData().value() 为我们提供了32位的黑色背景图像,假设它是透明的。图像的格式始终为QImage::format_RGB32。我试图将其转换为QImage::Format_ARGB32_预乘并提取alpha通道,但我只接收到覆盖整个图像部分的alpha通道黑色背景。如何从QMimeData检索具有正确alpha通

如果我们将带有alpha通道的图像拖动或复制到应用程序/剪贴板,那么使用Qt会丢失alpha通道。 使用: QImage clipImage=pMimeData->imageData().value()

为我们提供了32位的黑色背景图像,假设它是透明的。图像的格式始终为QImage::format_RGB32。我试图将其转换为QImage::Format_ARGB32_预乘并提取alpha通道,但我只接收到覆盖整个图像部分的alpha通道黑色背景。如何从QMimeData检索具有正确alpha通道的正确图像

干杯
Dejan

这不是一个容易回答的问题,并非所有应用程序都接受带有alpha通道的图像。我尝试通过剪贴板发送PNG图像(因为它支持透明度),但由于MS office没有标准的PNG剪贴板导入,因此失败

我们必须开发一个与MS Office API交互的接口来插入图像。但是,您能否具体说明您的目标应用程序


我问Qt,他们说它工作正常,需要修复的是接收应用程序。

如果我将带有alpha通道的PNG图像复制到剪贴板,然后使用QClipboard和QMimeData将其提取到我的应用程序,我将使用QMimeData::imageData().value()接收数据;但该图像在没有alpha通道的情况下是平坦的。如果我尝试使用qmiedata::data(“应用程序/x-qt-image”),即使qmiedata::formats().contains(“应用程序/x-qt-image”)返回true,它也会返回一个空的QByteArray。在Mac上使用本机Pasteboard并将数据检索到CGImageRef,图像格式正确,带有alpha通道,这让我认为QCLipperd中存在缺陷。干杯Dejan和我尝试了MS Office 2008 for MAC,它可以从剪贴板接受带有alpha通道的PNG格式。干杯,德扬