Partage
  • Partager sur Facebook
  • Partager sur Twitter

[SFML] Charger une image lourde

Erreur :s

Sujet résolu
    5 avril 2008 à 18:12:41

    Salut !
    En C++ avec la librairie SFML, j'ai voulu charger une image de 8000px * 8000px. Et là, mon programme plante...
    Sachant que j'arrivais à ouvrir exactement la même image avec un programme en C avec la SDL, je me suis demandé ce qui se passait... Eh bien SFML ne peut pas ouvrir mon image, j'ai bien vérifié, si je mets une image de 5px * 5px à la place, ça fonctionne... Le problème réside donc bien en la taille de l'image...
    Mais alors, y a-t-il une solution pour la charger quand même ?

    PS : on peut fabriquer une image de 8000px * 8000px avec ce code, sans que ça plante :

    1. sf::Image Image1(8000, 8000, sf::Color(0, 255, 0));


    PS : je pourrais faire autrement donc si personne ne peut m'aider, ce n'est pas grave ;)
    Mais ce serait bien quand même, parce que je perds quand même du temps avec la technique que j'ai trouvé en attendant ^^

    Merci ;)
    • Partager sur Facebook
    • Partager sur Twitter
      5 avril 2008 à 18:20:52

      Pose plutot ta question sur le Forum du site de la SFML, tu trouvera une meilleur aide làs-bas.
      Peut-être un problème avec la capacité d'un objet Sprite.
      • Partager sur Facebook
      • Partager sur Twitter
        5 avril 2008 à 18:26:33

        ok
        (C'est l'objet Image qui ne veut pas charger, pas l'objet Sprite)
        • Partager sur Facebook
        • Partager sur Twitter
          5 avril 2008 à 19:49:14

          Humm...Quelle erreur as-tu dans la console...?
          fais un petit GetMaxTextureSize () de la classe sf::OpenGLCaps, solution qui ma ete proposé suite a un plantage semblable, cela te dira la taille maximal de l'image que tu peut charger
          • Partager sur Facebook
          • Partager sur Twitter
            5 avril 2008 à 19:51:48

            De toutes facons, il me semble qu'on peut pas dépasser 2048px avec la SFML, ca c'est une limitation d'openGL.
            • Partager sur Facebook
            • Partager sur Twitter
              5 avril 2008 à 20:24:10

              de toute facon avoir a charger une si grande image n'est pas normal
              • Partager sur Facebook
              • Partager sur Twitter
                5 avril 2008 à 21:20:41

                Une image de 8000*8000 avec transparence prend 256Mo. Il faut une carte graphique de course pour faire ça!!
                • Partager sur Facebook
                • Partager sur Twitter
                  5 avril 2008 à 22:32:02

                  tu coupe ton image en plusieurs morceux sa seras bien plus optimisé(si tu te débrouille bien) et sa marcheras...
                  • Partager sur Facebook
                  • Partager sur Twitter
                    6 avril 2008 à 5:44:16

                    C'est effectivement une limitation du hardware : si ta carte graphique ne supporte pas des images de 8000x8000, SFML non plus.

                    Je suis actuellement en train de plancher sur ce problème, pour que d'une manière ou d'un autre on puisse manipuler des images sans limite de taille avec SFML. En attendant il vaut encore mieux la découper manuellement en plusieurs sous-images de taille plus adéquate.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      6 avril 2008 à 15:19:58

                      Ok, merci à tous.
                      Effectivement, j'avais pensé à découper mon image en plusieurs morceaux, et je voulais justement le faire via un programme C++ ^^
                      J'avais fait un programme qui découpe une image en C/SDL et je voulais faire le même en C++/SFML pour éviter d'avoir à le faire à la main ^^
                      Je crois que je vais garder mon programme C/SDL alors ^^
                      • Partager sur Facebook
                      • Partager sur Twitter

                      [SFML] Charger une image lourde

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown