Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt : 5.10.1 - Qt Creator : 4.6.0 - Qt Installer : 3.0.4 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - QBS : 1.11.0

pb au niveau pixmap?

je voudrais bien comprendre pkoi sur la premiere methode rien ne s affiche et sur la deuxieme methode sa marche je comprend pas

1ere methode:
QImage Image ((unsigned char*)&MatriceRVBA, TAILLEX*FACTEUR,
TAILLEY*FACTEUR,
QImage::Format_ARGB32);
QPixmap Pixmap;
Pixmap.fromImage(Image);
labels->setPixmap(Pixmap);
update();


2eme methode:
QImage Image ((unsigned char*)&MatriceRVBA, TAILLEX*FACTEUR,
TAILLEY*FACTEUR,
QImage::Format_ARGB32);
QPixmap pix = QPixmap ::fromImage (Image);
labels->setPixmap (pix);
update();

merci pour votre aide

Réponses

  • November 2006 modifié
    Dans ton premier cas :
    Pixmap.fromImage(Image); est static et donc ne modifie pas l'objet courant, il retourne simplement une nouvelle pixmap. comme tu ne l'assigne a rien, il ne se passe rien ;)
    La bonne utilisation est celle que tu fais dans ta seconde methode.
    Si tu veux faire marcher la premiere ecrit (c'est pas conseille) :
    QPixmap Pixmap;
    Pixmap=Pixmap.fromImage(Image);
    Ludo

    -- edit --
    la version non static de fromImage etant
    load ( const QString & fileName, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor )


    ce qui donne :
    Pixmap Pixmap;
    Pixmap.load(Image);
    -- /edit --
  • merci lud42fr pour ta reponse

    je voulais te poser une question je suis sur un projet qui est de recuperer un flux d image recupere a travers un capteur CCD j ai un mis en oeuvre une camera ccd (composer d un timer qui controle les signaux du capteur CDD et d un convertiseur analogique numerique) et enfaite je voudrais afficher les images que recupera mon camera sur windows avec QT comme interface mais je me recomte que l affichage sur QT c est pas car je recupere qd meme une image de 752*582 multiplie sa par 30 image a la seconde sa commence a faire beaucoup est ce possible ou pas
  • Salut,

    Peux-tu soigner ton orthographe et la ponctuation stp? C'est un charabia à la limite du compréhensible, et encore, je l'ai lu 4 fois avant de commencer à comprendre quelque chose. Là, tu as 102 vraies touches minimum, et tu aimerais te faire comprendre par tes lecteurs j'imagine ;)
    Merci par avance de ta compréhension.

    Pour ta réponse, oui, c'est possible, mais faut *tout* optimiser à mort voire employer des codecs bien balaises au détriment de la qualité.
  • IrmatDen said:
    Salut,

    Peux-tu soigner ton orthographe et la ponctuation stp? C'est un charabia à la limite du compréhensible, et encore, je l'ai lu 4 fois avant de commencer à comprendre quelque chose. Là, tu as 102 vraies touches minimum, et tu aimerais te faire comprendre par tes lecteurs j'imagine ;)
    Merci par avance de ta compréhension.

    Pour ta réponse, oui, c'est possible, mais faut *tout* optimiser à mort voire employer des codecs bien balaises au détriment de la qualité.
    +1
    Je suis le premier a faire des fautes - mais je pense que je reste, dans l'ensemble, lisible.

    pour le reste: il ne faut pas laisser a QT le soin d'afficher ta video -> laisse faire ta camera/ton codec, par contre tu peux integrer l'affichage dans QT. tu peux retrouver ce genre de concept dans Kaffeine par exemple (si tu es sous X11) - je te laisse chercher dans les sources. il doit y avoir d'autres exemples (VLC par exemple - au passage QVLC existe mais est abandonne) .........

    Ludo
  • merci et desolé pour l orthographe mais justement je recupere le flux d image directement pour l'afficher grace a QT.
    j ai pas de codec , sa se passe comme sa en faite capteur CCD-> FPGA(me permet de generer les signaux pour le capteur ccd pour pouvoir faire les acquisition d image)-> cypress (gere l'usb2 me permet de recupere le flux par usb pour pouvoir gerer un grand nombre de donnee)-> QT pour afficher ce que je recupere de mon capteur CCd
    donc a mon avis fait comme sa QT est pas capable de recuperer justement les images.
    merci
  • C'est mieux pour l'orthographe; on aura ptet la ponctuation au prochain... Essaie de faire un effort stp, de la même façon que les autres font pour te répondre.

    Tu ne réponds pas à nos questions pour ton problème. Il y a forcèment un codec, ne serait-ce que le format des pixels en raw. Là, tu nous cites du matos; je ne le connais et je ne sais pas comment il encode les images. Qt ne peux peut-être pas les afficher affichages au framerate voulu. Dans ce cas, penches toi sur les solutions préconisées par Ludo; mplayer te permet aussi de lire un flux et est très facilement embarquable dans une appli Qt.
    Là, on ne sait rien de ton contexte, je doute fort pouvoir t'aider plus.
  • November 2006 modifié
    Si j'ai bien compris :
    Il te manque un truc dans ta chaine, le truc qui doit etre le plus optimise : copier tes frames depuis l'usb vers la memoire (potentiellement video) avec au passage convertion de format (un codec koi).
    Utiliser QT pour faire cela n'est pas la meilleure solution (du moins pour cette fonction je crois) et je ne dis pas que tu ne dois pas utiliser QT pour le reste.
    Jette peu etre un oeil a VLC ou encore gstreamer - une fois tes frames affichees alors QT te permettra de controller le tout.

    Ludo

    --- edit --
    argghhh encore grilled

    Par contre bien vu pour mplayer :=)

    -- /edit --
  • oui tout a fait lud42 j aurai du te preciser que je recupere les pixel dans une matrice que je transforme en un format RGB et qu ensuite j affiche grace a QT
    et mercie pour vos reponse toi et IrmatDen
Connectez-vous ou Inscrivez-vous pour répondre.