Partage
  • Partager sur Facebook
  • Partager sur Twitter

changer la couleur d'un pixel

J'ai besoin d'aide je suis en pleine galère SVP

    21 janvier 2020 à 17:35:23

    Bonjours les gens alors ce serais pour que vous m'aidiez a finir mon script car j'arrive pas a changer la couleur d'un pixel  ( sans import PIL de préférence )
    from os import chdir
    path =r'C:\Users\maxim\Downloads'
    
    chdir(path)
    
    from struct import pack
    
    from os import stat
    
    image=input("entrez le nom de l'image bmp à modifier avec son .bmp")
    
    fich=open(image,"rb")
    
    image_copier= image + '_copie' + '.bmp'
    
    fichresultat=open(image_copier, "wb")
    
    info_fichier = stat(image)
    
    taille = info_fichier.st_size
    
    fich.seek(10)
    
    m=fich.read(4)
    
    def num(m):
    
    """retourne le nombre correspondant à 4 octets lus en little indian"""
    
    return m[0]+m[1]*16*16+m[2]*16**4+m[3]*16*6
    
    offset=num(m)
    
    print("l'offset est : ",offset)
    
    fich.seek(0)
    
    deb=fich.read(offset)
    
    fichbis.write(deb)
    
    fich.seek(18)
    
    m=fich.read(4)
    
    largeur=num(m)
    
    print("la largeur de l'image est : ",largeur)
    
    m=fich.read(4)
    
    hauteur=num(m)
    
    print("la hauteur de l'image est : ",hauteur)
    
    X=0
    
    Y=0
    
    X=int(input())
    
    Y=int(input())
    
    if largeur*3%4==0:
    
    largeur=(largeur*3)(Y-1)
    
    X=X*3
    
    resultat=largeur+X-3
    
    elif largeur*3%4==1:
    
    largeur=largeur*3+3
    
    largeur=largeur(Y-1)
    
    X=X*3
    
    resultat=largeur+X-3
    
    elif largeur*3%4==2:
    
    largeur=(largeur*3+2)*(Y-1)
    
    X=X*3
    
    resultat=largeur+X-3
    
    elif largeur*3%4==3:
    
    largeur=(largeur*3+1)*(Y-1)
    
    X=X*3
    
    resultat=largeur+X-3
    
    p=offset+resultat
    
    fich.seek(p)
    
    m=fich.read(3)
    
    b=(m[0])
    
    g=(m[1])
    
    r=(m[2])
    
    print(r)
    
    print(g)
    
    print(b)
    
    fich.seek(0)
    
    for i in range(taille):
    
    bytes = fich.read(1)
    
    fichresultat.write(bytes)
    
    
    
    fich.close()
    
    fichresultat.close()
    voici le script merci d'avance pour ce qui m'auront aider

    -
    Edité par STZ-Mass 21 janvier 2020 à 17:52:05

    • Partager sur Facebook
    • Partager sur Twitter
      21 janvier 2020 à 17:37:57

      Bonjour,

      Manque de Politesse

      Votre message ne comporte pas ou peu de formules de politesse (« Bonjour », « Merci », « Au revoir », etc.). Les règles du site exigent que chaque nouveau message comporte un minimum de politesse. Après tout, les gens qui répondent le font gratuitement, sur leur temps libre. Ils méritent bien un minimum de considération, n'est-ce pas ?

      Liens conseillés

      • Partager sur Facebook
      • Partager sur Twitter
        21 janvier 2020 à 17:49:01

        yes

        -
        Edité par STZ-Mass 21 janvier 2020 à 17:52:45

        • Partager sur Facebook
        • Partager sur Twitter

        changer la couleur d'un pixel

        × 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