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

Pascal Discussion :

Format BMP [Non suivi]


Sujet :

Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Par défaut Format BMP
    bonjour!
    voila mon probleme :
    j'ai ecrit un programme qui permet de tracer sur l'ecran un cadre avec une bordure remplie d'une couleur. mais je dois enregistrer cette figure en tant qu'image sous le format BMP.
    help please je sais pas comment m'y prendre!!!

  2. #2
    Membre Expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Par défaut
    Bonjour,

    Il va falloir se renseigner sur le format Bitmap. On peut en trouver sur Wotsit.
    Une fois le format acquis, il suffit de récupérer la couleur des pixels avec GetPixel et de les inscrire dans le fichier.

    Ceci reste assez compliqué pour un débutant. Des exemples de code peuvent se trouver sur les SWAG (voir l'adresse sur http://pascal.developpez.com/outils/, rubrique Turbo Pascal).

    @++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Par défaut
    oui en fait j'ai tout les renseignement sur le bmp.
    j'ai deja ecrit un programme qui remplit l'en-tete de l'image(longueure,largeure...)
    et j'utilise aussi la fonction getpixel pour stocker les couleur dans un tableau.
    mais apres je bloque.

  4. #4
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    Ben suffit de remplir ton fichiers alors... Faut faire attention faut commencer par le coin en bas à gauche si je me souviens bien...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Par défaut
    justement je sais pas comment il faut faire pour remplir le fichier :
    si vous pouvez m'indiquer comment faire? , quelles fonctions utiliser et comment je fais pour commencer en bas à gauche.

  6. #6
    Membre Expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Par défaut
    Bonjour,

    Euh, ce n'est pas très compliqué de commencer en bas à gauche

    A supposer que l'image à enregistrer soit contenue dans le cadre (X1,Y1) (X2,Y2), alors il suffit de faire quelque chose de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Pour y allant de Y2 à Y1 faire
      Pour x allant de X1 à X2 faire
        Stocker la valeur du pixel (x, y)
      Fin pour
    Fin pour
    Je rappelle qu'on obtient la couleur du pixel (x, y) avec GetPixel(x, y).

    @++

  7. #7
    Membre émérite Avatar de Sheriff
    Inscrit en
    Octobre 2004
    Messages
    608
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 608
    Par défaut
    Remarque !
    il faut stocker deux couleurs consécutives dans un octet. donc tu dois savoir utiliser les opérateurs shl et shr...
    tu récupère un pixel, tu le mets dans une variable de type byte,
    tu fais un shl
    tu récupère le pixel suivant, tu l'additionne au byte et tu écris le byte dans ton fichier...

    @+

  8. #8
    Membre Expert

    Homme Profil pro
    Inscrit en
    Juillet 2003
    Messages
    2 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 2 075
    Par défaut
    Citation Envoyé par Eric Sigoillot
    Bonjour,

    Euh, ce n'est pas très compliqué de commencer en bas à gauche

    A supposer que l'image à enregistrer soit contenue dans le cadre (X1,Y1) (X2,Y2), alors il suffit de faire quelque chose de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Pour y allant de Y2 à Y1 faire
      Pour x allant de X1 à X2 faire
        Stocker la valeur du pixel (x, y)
      Fin pour
    Fin pour
    Je rappelle qu'on obtient la couleur du pixel (x, y) avec GetPixel(x, y).

    @++
    Salut
    Pourquoi commences tu par Y2 dans la première boucle? Je ne comprends pas là

Discussions similaires

  1. Superposer deux images au format BMP, JPG ou PNG
    Par Henri-gp dans le forum Langage
    Réponses: 39
    Dernier message: 22/12/2016, 14h42
  2. Cryptographie, image format .bmp, fonctions fopen/fread.
    Par bambam978 dans le forum Débuter
    Réponses: 8
    Dernier message: 25/01/2009, 12h06
  3. Enregistrer une image de format BMP
    Par bilal_inf dans le forum C++Builder
    Réponses: 1
    Dernier message: 07/04/2007, 17h18
  4. [c#] Save au format BMP
    Par topolino dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/03/2006, 13h43

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