IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

setPixel ne fonctionne pas avec certaines images


Sujet :

Qt

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 10
    Points : 8
    Points
    8
    Par défaut setPixel ne fonctionne pas avec certaines images
    j'ai essayé de lire une image puis modifier ses pixels, le probleme c'est que setpixel parfois fonctionne avec certaines images et non avec d'autres et la sortie de mon programme serait:
    QImage::setPixel: Index -1 out of range
    voici la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    bool testLoad = false;
     QImage* image = new QImage;
        testLoad = image->load("C:/Users/dell/Desktop/stepwedge_sabca_defects7_8_10s_2015_09_22_frames/new_frame_301.png");
        image->setText("type", "color");
        qDebug() << "Load : image color : " << testLoad;
        if (testLoad)
            imageList.append(image);
        else
            delete image;
     for (int i = 0; i < image->width(); i++){
                for (int j = 0; j < image->height(); j++){
                    image->setPixel(i, j, qRgb(255,255,255));
        }
            }
    image->save("C:/data/"+image->text("type") + ".png", "PNG");
    aider moi SVP.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Peut-être, que si tu remplaces : qRgb(255,255,255) par 16 777 215 ....
    16 777 215 = (256 x 256 x 256) -1 = 224 - 1
    224 223 222 221 220 219 218 217 216 215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
    0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

    Cela fonctionne-t-il ?...non...?
    Dernière modification par Invité ; 16/01/2016 à 11h17.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Merci j'ai trouvé l'erreur;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image->setPixel(i,j,qGray(qRgb(255,255,255)));

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. 2 boutons image submit ne fonctionnent pas avec IE
    Par diabli73 dans le forum Langage
    Réponses: 2
    Dernier message: 07/06/2011, 13h56
  2. [HTML] Ancre liée à formulaire fonctionne pas avec certains boutons "submit" sur ie6
    Par 12monkeys dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 28/02/2008, 21h30
  3. Mon script fonctionne avec un bouton, mais pas avec l'image!
    Par julien.63 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 12/04/2006, 16h26
  4. Réponses: 7
    Dernier message: 24/01/2006, 11h03
  5. window.resizeTo ne fonctionne pas avec firefox?
    Par FrankOVD dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/06/2005, 15h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo