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

Langage Delphi Discussion :

Tiff To Bitmap


Sujet :

Langage Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut Tiff To Bitmap
    Bonjour,

    J'ai trouvé le code suivant sur Internet :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    implementation
     
    {$R *.dfm}
    uses
      LibTiffDelphi;
     
    procedure TIFFReadRGBAImageSwapRB(Width,Height: Cardinal; Memory: Pointer);
     {$IFDEF DELPHI_5}
     type
     PCardinal = ^Cardinal;
     {$ENDIF}
     var
     m: PCardinal;
     n: Cardinal;
     o: Cardinal;
     begin
       m:=Memory;
       for n:=0 to Width*Height-1 do
       begin
       o:=m^;
       m^:= (o and $FF00FF00) or
       ((o and $00FF0000) shr 16) or
       ((o and $000000FF) shl 16);
       Inc(m);
       end;
     end;
     
    function LoadTiffIntoBitmap(const Filename: String): TBitmap;
    var
     OpenTiff: PTIFF;
     FirstPageWidth,FirstPageHeight: Cardinal;
     FirstPageBitmap: TBitmap;
    begin
     OpenTiff:=TIFFOpen(Filename,'r');
     TIFFGetField(OpenTiff,TIFFTAG_IMAGEWIDTH,@FirstPageWidth);
     TIFFGetField(OpenTiff,TIFFTAG_IMAGELENGTH,@FirstPageHeight);
     FirstPageBitmap:=TBitmap.Create;
     FirstPageBitmap.PixelFormat:=pf32bit;
     FirstPageBitmap.Width:=FirstPageWidth;
     FirstPageBitmap.Height:=FirstPageHeight;
     TIFFReadRGBAImage(OpenTiff,FirstPageWidth,FirstPageHeight,
     FirstPageBitmap.Scanline[FirstPageHeight-1],0);
     TIFFClose(OpenTiff);
     TIFFReadRGBAImageSwapRB(FirstPageWidth,FirstPageheight,
     FirstPageBitmap.Scanline[FirstPageHeight-1]);
     Result:=FirstPageBitmap;
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      BMP: TBitmap;
    begin
      BMP.Assign(LoadTiffIntoBitmap('ARGOS_4202_24-06-13.indd (Y).TIF'));
    end;
    end.
    Après avoir téléchargé le pack libTiffDelphi, ce code se compile sans problème mais quand je clique sur le bouton j'obtiens le message "Espace insuffisant pour traiter cette commande". Le fichier TIFF que je charge fait 3671 Ko.
    Que dois-je faire pour augmenter l'espace ?
    Bienvenue à tous ceux qui me répondent.

  2. #2
    Membre expérimenté
    Avatar de retwas
    Homme Profil pro
    Développeur Java/Delphi
    Inscrit en
    Mars 2010
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java/Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 698
    Points : 1 608
    Points
    1 608
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    Je peux charger un fichier .tif de 6mo avec simplement ce code.
    Pas besoin de plus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm1.Button1Click(Sender: TObject);
    var
       t: TWICImage;
    begin
       t := TWICImage.Create;
       t.LoadFromFile('c:\a.tif');
       Image1.Picture.Bitmap.Assign(t);
    end;

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut Ok et merci retwas Mais !
    Je suis sous Delphi 2007, comment avoir accès à la VCL.Graphics ?

  4. #4
    Membre expérimenté
    Avatar de retwas
    Homme Profil pro
    Développeur Java/Delphi
    Inscrit en
    Mars 2010
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java/Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 698
    Points : 1 608
    Points
    1 608
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par colorid Voir le message
    Je suis sous Delphi 2007, comment avoir accès à la VCL.Graphics ?
    En rajoutant le uses "VCL.Graphics"

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut Delphi 2007 semble ignorer VCL.Grahics
    En mettant ans Uses VCL.Graphics il s'arrête à la compilation et affiche le message "Fichier introuvable VCL.Graphics.dcu"

    J'ai réinstallé D2007 en totalité rien n'y fait.

    Où télécharger les sources ?

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/10/2002, 18h26
  2. transfert d'un fichier bitmap en socket tcp
    Par localhost dans le forum C++Builder
    Réponses: 5
    Dernier message: 29/07/2002, 00h40
  3. Pb Lecture de bitmap monochrome
    Par Loïc38 dans le forum C++Builder
    Réponses: 4
    Dernier message: 02/07/2002, 18h24
  4. Lecture d'une image bitmap
    Par Geronimo dans le forum x86 32-bits / 64-bits
    Réponses: 18
    Dernier message: 28/06/2002, 12h01
  5. Comment faire pour créer un bitmap
    Par GliGli dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/04/2002, 15h41

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