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 :

Le C et les images


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 176
    Par défaut Le C et les images
    Hello ^^ j'aimerais savoir si en C c'est possible de lire des fichiers images ( jpeg , bmp ,...) et aussi d'en écrire.

    Par exemple pour coder un fichier texte dans une image.

    Si oui j'aimerais bien connaitre les fonctions permettant de le faire lol

    merci ^^

  2. #2
    Membre chevronné Avatar de Lunixinclar
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 416
    Par défaut
    Salut,

    Ca te dit quelque chose les entrées-sorties en mode binaire? Si oui il ne reste plus qu'à se renseigner sur le format bmp et faire quelques fread.

    Mais en général certaines librairies sont utilisées pour lire/écrire des images; SDL, GTK+, libpng, libjpeg, GDI ... GTK+ est la plus puissante. En effet à la base cette lib a été écrite pendant le développement de GIMP.

  3. #3
    Membre expérimenté Avatar de Nyarlathotep
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 174
    Par défaut
    Pour GDI ( sous Windows ) on a :

    LoadBitmap(HINSTANCE,LPSTR); //Charge un BMP en fichier ou en ressource
    LoadImage(...je ne sais plus...); //Charge un BMP,ICO en fichier ou en ressource

    Mais bon, je ne suis plus sûr de mes sources, donc à vérifier...
    De plus, si c'est pour faire un jeu, le mieux c'est d'utiliser SDL ou Allegro ( Windows, Linux, MacOs, ... ).

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Charger ou écrire des images est possible en C standard, même si généralement on utilise des bibliothèques qui connaissent le format.

    Afficher une image par contre, n'est pas possible en C standard.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 176
    Par défaut
    Okiiii merci pour vos réponses

    - Donc les entrées sorties en mode binaire je connais pas mais je suppose que c'est comme fprintf fscanf avec des 0 et 1 sinon oui je vais aller me renseigner sur le format bmp
    En plus mon programme est écrit en GTK+ mais je ne connais pas beaucoup les fonction rattachées aux images lol


    - " Le terme anglais Graphics Device Interface (ou Graphical Device Interface) abrégé en GDI, est l’un des trois composants fondamentaux ou sous-systèmes du système d’exploitation Microsoft Windows. "

    Ca non plus je ne savais pas :p ca m'a l'air pas mal je vais voir pour éventuellement m'en servir

    Mais ce n'est pas pour faire un jeu c'est simplement pour coder un dictionnaire dans une image ( en gros chaque caractère du dictionnaire correspondrait à un pixel )


    - Oki Médinoc enfin par afficher j'entendais plutot " lire " comme lire dans un fichier et non afficher à l'écran ^^


    PS: j'ai entendu parler de fichiers " ppm " qui sont de simples fichiers textes avec une en-tête et une fois ce fichier écrit il suffirait d'appliquer une fonction nommée " convert " pour transformer ca en image quelqu'un connait cette fonction convert ? j'ai cherché un peu je n'ai malheuresement rien trouvé lol


    merci ^^

  6. #6
    Membre chevronné Avatar de Lunixinclar
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 416
    Par défaut
    Citation Envoyé par NeMo_O
    En plus mon programme est écrit en GTK+ mais je ne connais pas beaucoup les fonction rattachées aux images lol
    Alors regardes la référence GTK+, section GdkPixbuf http://developer.gnome.org/doc/API/
    Et là un exemple pour travailler les pixels http://developer.gnome.org/doc/API/2...dk-pixbuf.html

  7. #7
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    GTK+ est la plus puissante. En effet à la base cette lib a été écrite pendant le développement de GIMP.
    Nan, GTK sert uniquement pour l'aspect gestion de l'IHM de GIMP, GTK n'a rien à voir avec les fonctionnalités presentes dans GIMP (modification sur les couleurs, filtres...).

    Vous citez des bibliotheques permettant l'affichage des images, ce qu'il veut c'est surtout retraiter l'image, sans forcement avoir d'interface graphique
    Ya GD pour ça

  8. #8
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    et le package ppm/pnm :

    http://www.acme.com/software/pbmplus/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [D5][SQL Server] Conserver des images dans la BDD
    Par FONKOU dans le forum Bases de données
    Réponses: 8
    Dernier message: 08/06/2008, 19h58
  2. Recherche librairies pour les images
    Par mathieu_t dans le forum Bibliothèques
    Réponses: 3
    Dernier message: 16/08/2004, 21h14
  3. les images dans une base de données
    Par houhou dans le forum Bases de données
    Réponses: 8
    Dernier message: 22/06/2004, 14h27
  4. []filtre sepia pour les images
    Par nabil dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 27/01/2004, 20h41
  5. Des fonctions OGL pour les images de format usuel ?
    Par jamal24 dans le forum OpenGL
    Réponses: 3
    Dernier message: 31/05/2003, 21h59

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