Partage
  • Partager sur Facebook
  • Partager sur Twitter

Remplir un surface de pixel transparent

comment?

    16 juin 2007 à 18:20:41

    Bonjour,

    Je fais une class pour dessiner des forme géométrique. Mais j'ai un petit problème pour les formes géométrique vide. J'arrive a coloré le bord des formes mais le mileu est noir. J'ai pourtant créé une variable couleurVide :
    Uint32 couleurVide = SDL_MapRGBA(m_Surface->format, 0, 0, 0, 0);


    Mais comme je l'ai dit au-dessus, ça reste noir.

    Voici comment je change les pixel de couleur :
    void Rectangle::setPixel(SDL_Surface* surface, Uint32 couleur, int x, int y) {
            *((Uint32*)(surface->pixels) + x + y * surface->w) = couleur;
    }


    Est-ce qu'il existe une meilleur manière?

    Et comment résoudre le problème?

    Merci d'avance.

    PS : j'ai oublié de dire que je ne change pas la couleur des pixel de l'ecran directement. Je créé d'abord une surface que je blit ensuite.

    • Partager sur Facebook
    • Partager sur Twitter
      16 juin 2007 à 18:35:07

      Salut,
      Je crois que si tu veux définir une couleur transparente il faut
      régler l'alpha à sa valeur maximale:
      Uint32 couleurVide = SDL_MapRGBA(m_Surface->format, 0, 0, 0, 255);

      Mais je ne suis pas certain que ça marche vu que je n'ai jamais
      essayé ce code.
      EDIT: grosse erreur de ma part, j'implore le pardon de la communauté
      des programmeurs :p
      EDIT: regarde ce tuto, il traite sur la manière de changer une image pixel par pixel.
      • Partager sur Facebook
      • Partager sur Twitter
        16 juin 2007 à 18:41:33

        Je te pardonne :p

        J'ai aussi pensé a prendre la couleur des pixels où l'on veut blitté la surface, puis on change la couleur du noir avec celle du fond. Le problème c'est que, je pense que ça prendrait beaucoup de ressource(si on met la fonction dans la boucle principale) et j'essaye justement d'en utilisé le moins possible.
        • Partager sur Facebook
        • Partager sur Twitter

        Remplir un surface de pixel transparent

        × 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