Dégradé couleur avec SDL en C
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Dégradé couleur avec SDL en C



  1. #1
    maxime10

    Dégradé couleur avec SDL en C


    ------

    Bonjour à tous,

    Après avoir suivit le cours de programmation en C (avec SDL) , j'ai voulu faire un dégradé vertical du blanc vers le noir (le contraire du cours).

    J'ai un problème :

    J'ai essayé de plusieurs manières mais à chaque fois j'obtiens quelque chose de mauvais.

    Code:
    for(i=255;i>=0;i--)
        {
            int j=0;
            position.x = 0; // Les lignes sont à gauche (abscisse de 0)
            position.y = j; // La position verticale dépend du numéro de la ligne actuelle
            SDL_FillRect(ligne[j], NULL, SDL_MapRGB(ecran->format, i, i, i));// Remplissage
            SDL_BlitSurface(ligne[j], NULL, ecran, &position); // Collage
    j++;
        }
    Ici, j'utilise j pour les lignes. Ainsi, dans ma tête j'aurais ligne 0 (j=0) en blanc (255,255,255) et puis on incrémente j pour passer à la ligne suivante et i se décrémente pour avoir la nuance de couleur suivante. Mais ce ne va pas , j'obtiens un écran de couleur noire unie.

    En faisant ainsi :

    Code:
    for(i=0;i<=255;i++)
        {
            j=255;
            position.x = 0; // Les lignes sont à gauche (abscisse de 0)
            position.y = i; // La position verticale dépend du numéro de la ligne actuelle
            SDL_FillRect(ligne[i], NULL, SDL_MapRGB(ecran->format, j, j, j));// Remplissage
            SDL_BlitSurface(ligne[i], NULL, ecran, &position); // Collage
            j--;
        }
    Ici j'utilise i pour les lignes et j pour la couleur. J'obtiens un page blanche. J'ai essayé avec j=150 et là j'ai une page grise. J'ai essayé avec i<=10 et j=150 et là j'ai 10 lignes de gris puis du noir (car mon écran était rempli préalablement en noir). J'en suis donc venu à la conclusion que mon ordi n'effectuait pas l'opération de décrémentation dans ce cas ou d'incrémentation dans le cas précédant. J'ai aussi essayé en faisant j=j-1 mais ce ne change rien. On dirait que ce n'est pas pris en compte.

    Quelqu'un a-t-il une explication à me donner ?

    Merci d'avance

    -----

  2. #2
    maxime10

    Re : Dégradé couleur avec SDL en C

    J'ai trouvé mon erreur.

Discussions similaires

  1. Circuit imprimé dégradé à nettoyer avec quoi?.
    Par apzo11 dans le forum Électronique
    Réponses: 11
    Dernier message: 24/01/2012, 14h07
  2. Réponses: 3
    Dernier message: 15/11/2011, 15h56
  3. Aide pour un systeme pour degrade de couleur
    Par invited9cae080 dans le forum Technologies
    Réponses: 0
    Dernier message: 06/11/2009, 10h42
  4. Mur qui se dégrade
    Par philp dans le forum Bricolage et décoration
    Réponses: 2
    Dernier message: 17/07/2009, 08h07
  5. Led RGB : Dégradé
    Par invitef3bd5ad5 dans le forum Électronique
    Réponses: 19
    Dernier message: 18/03/2007, 20h37