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

C++ Discussion :

Image BMP C++


Sujet :

C++

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Lyc�en
    Inscrit en
    Janvier 2015
    Messages
    1
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activit� : Lyc�en

    Informations forums :
    Inscription : Janvier 2015
    Messages : 1
    Par d�faut Image BMP C++
    Bonjour,

    Je doit faire un programme en C++ permettant d'importer une image BMP, et qui modifie le contour de l'image afin de faire un cadre noir de 3px en utilisant que la biblioth�que de base.
    Ce que j'ai r�ussi a faire pour l'instant
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    #include<fstream>
    #include <iostream>
    #include <istream>
    #include <iomanip>
     
     
    using namespace std;
    int main()
    {
        ifstream source;
        source.open("G:/Documents/Téléchargements/panda.bmp", ios::binary|ios::ate);
        int taille_du_fichier = source.tellg();
        source.seekg(0,ios::beg);// remmet le curseur au début
        char buffer[taille_du_fichier];
        source.read(buffer,taille_du_fichier);
        source.close();
     
     
        //la vous modifiez buffer comme vous voulez
        //static_cast<int>(static_cast<unsigned char>(buffer[7])) pour adapter les valeurs hexa du fichier en decimal
     
        ofstream sortie;
        sortie.open("G:/Documents/Téléchargements/panda.bmp", ios::binary);
        //ecrire le buffer modifié dans le fichier
     
        sortie.close();
        delete[] buffer; //on libere la memoire
        return 0;
    }
    Je sais aussi que:
    Pixel num�ro 18-19 donne la largeur
    Pixel num�ro 22-23 donne la hauteur

    Ce qu�il faut faire :
    1 er :
    on modifie 3 derni�re ligne ==> modifier 3*longueur de pixel en noir
    2 �me :
    on modifie bordure ==> modifie 3 pixel, on d�cale le curseur de largueur - 6 pixel, on modifie 3 pixel ==> *(hauteur � 6)
    3�me :
    on modifie 3 premi�re ligne ==> modifier 3*longueur de pixel en noir

  2. #2
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  3. #3
    Expert confirm�
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 772
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 772
    Par d�faut
    Citation Envoy� par Bousk Voir le message
    Plut�t simple

    Tu as vu la longueur des ent�tes: elles trainent une compatibilit� assez �norme: des palettes, des profils, 2-3 m�thodes de compression, diff�rents "pixel format"...
    Et en plus la majorit� des BMPs sont mal form�es parce qu'elles devraient avoir BITMAPV5HEADER.

    La longueur des lignes doit �tre un multiple de 4 (donc bourrage � la fin si n�cessaire) et l'image est stock�e � l'envers de droite � gauche (il me semble)

    Heureusement que les algos sont cal�s depuis 14 ans

  4. #4
    Membre actif
    Homme Profil pro
    Ing�nieur
    Inscrit en
    Octobre 2006
    Messages
    48
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2006
    Messages : 48
    Par d�faut
    Citation Envoy� par foetus Voir le message
    Plut�t simple
    J'ai aussi beaucoup ri aussi...
    Le BMP aurait pu �tre beaucoup plus simple et �tre un exercice parfait pour d�butant... Ce n'est malheureusement pas le cas!

  5. #5
    Expert confirm�
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 772
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 772
    Par d�faut
    Les formats d'image les plus faciles sont les Pixmap Format (.ppm, .pgm et .pbm)

    Et avec Qt, j'ai d�couvert le X PixMap

    Le probl�me de ces formats [de geek ] c'est qu'ils sont manipulables qu'en utilisant de gros logiciels.
    Mais ImageMagick les convertit facilement

  6. #6
    Membre �m�rite Avatar de SkyZoThreaD
    Homme Profil pro
    Administrateur syst�mes et r�seaux
    Inscrit en
    Juillet 2013
    Messages
    585
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activit� : Administrateur syst�mes et r�seaux
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 585
    Par d�faut
    Et moi qui croyais que le bmp �tait un format simple et standard...
    Je pense que Bousk voulait plut�t dire: "ouvrir et fermer des fichiers ce n'est pas du traitement d'image.. le travail n'est m�me pas encore commenc� !".

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 3
    Dernier message: 12/02/2004, 15h23
  2. images bmp et pgm (P5)
    Par sylvain m. dans le forum C
    R�ponses: 3
    Dernier message: 13/09/2003, 18h30
  3. [BPW] Impression d'une image BMP
    Par Alcat�z dans le forum Turbo Pascal
    R�ponses: 13
    Dernier message: 21/08/2003, 14h34
  4. Impression d'image bmp
    Par Invit� dans le forum Langage
    R�ponses: 6
    Dernier message: 18/07/2002, 09h38
  5. Cr�ation image BMP
    Par Anonymous dans le forum C
    R�ponses: 2
    Dernier message: 25/04/2002, 16h04

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