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++Builder Discussion :

Lecture fichier Tiff


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 108
    Par défaut Lecture fichier Tiff
    Bonjour à tous!

    Ça fait déjà une bonne journée que je troune autour d'un problème qui est pourtant simple. Enfin, je crois.

    Je dois créer un programme pour visualiser les fax entrants et ensuite les classer selon différents critères.

    Les fax sont en format tif/tiff. Alors, j'utilise la librairie "GraphicEx" pour ouvrir les images. Je ne retrouve plus le lien d'origine (sur devellopez.net), mais celui-ci devrait faire l'affaire :


    http://delphi.developpez.com/freewares/composants/?page=ImagesGraphismeMultimedia#GraphicEx


    J'ai deux problèmes avec cette librairie.

    Premier problème

    Je charge un fichier .tiff. Tout va bien. Je l'affiche dans un PaintBox via un Canvas->StrechtDraw sans problème.

    Mon problème survient lorsque j'essaie d'enregistrer le .tiff.

    J'utilise le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Graphics::TBitmap * bmp = new Graphics::TBitmap();
    	TTIFFGraphic * tiff = new TTIFFGraphic();
     
    	tiff->LoadFromFile("P:/Fiches Client/Classeur Commandes/1001-29LA-P5-ANNULLEE.TIFF");
    	tiff->SaveToFile("C:/test.tiff");
     
    	bmp->Assign(tiff);
    	PaintBox1->Canvas->StretchDraw(Rect(0,0,PaintBox1->Width,PaintBox1->Height),bmp);
     
    	delete bmp;
    	delete tiff;
    Il est relativement simple. Je charge le tiff et je l'enregistre immédiatement ensuite. Il ne devrait y avoir de problème, cependant, le fichier obtenu "test.tiff" est vide. Il a 0 octets.

    J'ai chercher sur google, sur developper.net, j'ai rien à ce sujet.

    Deuxième problème

    Lorsque je charge un fichier .tiff qui a été modifié par "Appercu des images et des télécopies Windows", la librairie ne reconnait plus le fichier. Il ne veut pas charger le fichier, il dit que ce n'est pas un fichier encoder .tiff. Dans ce cas-ci, la modification est une rotation de 180° (le fax était à l'envers).

    J'ai épuissé toute mes ressources, alors si vous avez une idée, je serai prenneur.

    Merci,

    Bonne journée!

    antoine

  2. #2
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 108
    Par défaut Librairie
    Peut-être la solution réside dans le choix d'une autre librairie, quelqu'un connait une autre?

    J'ai trouvé http://openil.sourceforge.net/docs/index.php sur le forum.

    Commentaires/suggestions?

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 108

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 288
    Par défaut
    GraphicEx library de Soft-Gems
    Page de téléchargement ici, c'est vrai que c'est difficile à trouver.

    http://www.soft-gems.net/index.php?o...d=30&Itemid=35

    La librairie est un peu ancienne et n'évolue plus.

    Sinon pour une autre librairie, que soit OpenIL ou autres ils passent tous par libtiff. C'est la référence pour lire du Tiff et franchement si tu as le temps ce serait mieux pour toi que de passer par une librairies intermédiaire qui va cacher des informations, bufferiser (et libtiff est déja assez lente comme ça), etc...

    Ce qu'il faur faire:
    - compiler la librarie
    - écrire le code pour charger les images

    Mais évidemment ce n'est pas si simple - ni non plus difficile.
    Compte entre 2 et 3 jours en fonction de ton niveau. Un peu plus si tu ne l'as jamais fait.

    ps ça ne te couteras pas beaucoup moins avec OpenIL mais regarde quand même comment ils chargent un image Tiff dans cette librairies. Regarde aussi dans FreeImage.

  5. #5
    Membre éclairé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par défaut
    (GraphicEx) C'est déjà la librairie qu'il utilise.
    La réponse est dans le fichier d'aide.
    GraphicEx is an addendum to Delphi's Graphics.pas in order to enable your application to load many common image formats. This library is primarily designed to load images as background (buttons, forms, toolbars) and textures (DirectX, OpenGL) or for image browsing and editing purposes as long as you don't need to save images. Currently only TTargaGraphic also supports saving an image.
    Donc, tu peux sauvegarder les images aux formats Targa mais pas en TIFF.

    Sachant que tu travailles sur une solution de fax, tu peux regarder les composants Turbo Power Async qui sont gratuit en GPL sur sourceforge.

    Sinon, tu peux peut-être convertir ton fichier TIFF dans un autre format ou regarder si la JVCL permet d'ouvrir et d'enregistrer ce format.

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 108
    Par défaut
    Bonjour à vous deux!

    Tout d'abord merci d'avoir pris le temps de répondre!

    Il me semble que je sois un peu retardé.

    cxImage

    J'ai essayé avec cxImage, mais je n'arrive pas à compiler les lib.
    -> J'ai compilé la lib zlib, la jpeg et ensuite la tiff en incluant la jpeg.lib et la zlib.lib.
    -> J'ai ensuite voulu compiler la cxImage.lib avec la tiff.lib que je venait de faire. Ici, il me sort une erreur de variable inconnue : mp_f

    J'ai donc laisse de côté cet avenue.

    OpenIL

    Je me part un nouveau projet. Je configure les paths en ajoutant le dossier include et lib de OpenIL.
    ->J'ajoute #include <il.h>
    ->J'ajoute la commande ilInit();
    ->Il me donne une erreur de référence, alors j'ajoute directement le fichier DevIl.lib au projet.
    -> Il me donne l'erreur "Erreur : '.../DevIL.lib' contains invalid OMF record, type 0x21 (possibly COFF)

    Donc la je suis coincé.

    Il me reste la biblio FreeImage a essayé, mais bon... mon problème ne semble pas venir des biblio utilisées, mais bien du programmeur (moi ;P ).

    C'est la portion "compiler des lib" que je ne pige pas.

    Enfin, je vais continuer à chercher.

    Si quelqu'un a un petit tuto sur la compilation de lib sous borland, ça serait apprécié.

    Pour ce qui est de Turbo Power Async, je le met sur la glace, ça me semble très intéressant, mais pour l'instant je vais me concentrer sur mon problème d'image puisque le fax enregistre automatiquement sous format tiff sur le serveur les fax entrants.


    Antoine

Discussions similaires

  1. [Débutant] lecture fichier tiff
    Par issane dans le forum Images
    Réponses: 4
    Dernier message: 03/06/2010, 08h11
  2. Réponses: 0
    Dernier message: 11/05/2010, 10h22
  3. [LG]probleme lecture fichier
    Par yp036871 dans le forum Langage
    Réponses: 2
    Dernier message: 28/01/2004, 19h22
  4. [LG]Probleme lecture fichier file of ....
    Par John_win dans le forum Langage
    Réponses: 11
    Dernier message: 11/11/2003, 18h53
  5. [langage] prob lecture fichier .txt
    Par martijan dans le forum Langage
    Réponses: 3
    Dernier message: 16/07/2003, 11h08

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