2009-09-14 7 views
0

Si nous glissons ou copions une image avec un canal alpha dans une application/presse-papiers, elle perd le canal alpha en utilisant Qt. Utilisation de: QImage clipImage = pMimeData-> imageData(). Value();Howe puis-je récupérer l'image correcte avec le canal alpha correct à partir de QMimeData?

nous donne l'image 32 bits avec un fond noir où il suppose être transparent. Le format d'une image est toujours QImage :: Format_RGB32. J'ai essayé de le convertir en QImage :: Format_ARGB32_Premultiplied et d'extraire le canal alpha mais j'ai reçu pour le canal alpha seulement le fond noir qui couvre la partie entière de l'image. Howe puis-je récupérer l'image correcte avec le canal alpha correct de QMimeData.

Vive Dejan

Répondre

0

Ce n'est pas une question facile à répondre, pas toutes les applications accepter des images avec un canal alpha. J'ai essayé d'envoyer une image PNG via le presse-papiers (parce qu'il supporte la transparence) et cela a échoué parce que MS Office n'a pas importé de presse-papiers PNG standard.

How do I put an QImage with transparency onto the clipboard for another application to use?

Nous avons dû développer une interface qui interagit avec l'API MS Office pour insérer l'image. Cependant, pourriez-vous être précis quant à votre application de destination?

J'ai demandé Qt et ils ont en quelque sorte dit qu'il fonctionnait comme prévu, c'est l'application de réception qui doit être réparée.

+0

Si je copie l'image PNG avec un canal alpha dans un presse-papiers, puis en utilisant QClipboard et QMimeData pour l'extraire dans mon application, je reçois des données en utilisant QMimeData :: imageData(). Value (); mais cette image est aplatie sans canal alpha. Si j'essaie d'utiliser QMimeData :: data ("application/x-qt-image"), il me renvoie un QByteArray vide même si QMimeData :: formats(). Contains ("application/x-qt-image") renvoie true. En utilisant le Pasteboard natif sur Mac et en récupérant des données dans CGImageRef, l'image est de format correct et avec un canal alpha, ce qui me fait penser qu'il y a un bug dans QClipboard. Cheers Dejan –

+0

Et j'ai essayé avec MS Office 2008 pour MAC et il accepte très bien le format PNG avec canal alpha du presse-papiers. Cheers Dejan –