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

Composants VCL Delphi Discussion :

jpeg et TImage (encore !)


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif
    Homme Profil pro
    Analyste-programmeur Delphi
    Inscrit en
    Décembre 2003
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-programmeur Delphi

    Informations forums :
    Inscription : Décembre 2003
    Messages : 490
    Par défaut jpeg et TImage (encore !)
    Bonjour à tous,

    J'ai un petit problème pour afficher une image jpeg dans un TImage.
    J'ai trouvé quelques explications sur le forum qui m'ont permis de construire le source suivant,
    mais pourquoi il plante sur la dernière ligne ?
    Je suis un peu bloqué ...

    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
     
    VignImg:  TImage;
     
    VignBMP:  TBitmap;
    VignEve:  TJPEGImage;
     
    ...
     
    if FileExists(ChemImg) then
       VignEve.LoadFromFile(ChemImg);
     
    VignBMP.Assign(VignEve);
    VignImg.Picture.Assign(VignBMP);
     
    ...
    Sûrement que cela doit être évident pour certains d'entre nous, je les en remercie par avance

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 094
    Par défaut
    Essaye tout simplement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if FileExists(ChemImg) then
    begin
       VignEve.LoadFromFile(ChemImg);
       VignImg.Picture.Bitmap.Assign(VignEve);
    end;
    c'est ce que j'ai fait avec un LoadFromStream, ce qui doit pas changer grand chose
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Inactif
    Homme Profil pro
    Analyste-programmeur Delphi
    Inscrit en
    Décembre 2003
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-programmeur Delphi

    Informations forums :
    Inscription : Décembre 2003
    Messages : 490
    Par défaut
    Bo oui, mais ça marche po
    Il faut dire que je crée le TImage dynamiquement.
    Il me fait une erreur d'accès.
    Je suis pourtant aguerri à ce genre d'erreur...
    Je vais relire après avoir dormi...

  4. #4
    Inactif
    Homme Profil pro
    Analyste-programmeur Delphi
    Inscrit en
    Décembre 2003
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-programmeur Delphi

    Informations forums :
    Inscription : Décembre 2003
    Messages : 490
    Par défaut
    En fait, il plante sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     VignImg.Picture.Bitmap.Assign(VignEve);
    VignImg existe bien mais Picture est à nil !

  5. #5
    Membre Expert
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Par défaut
    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
     
    uses JPEG;
     
    var
      img : TImage;
     
    procedure TForm1.Form1Create(Sender: TObject);
    begin
      img := TImage.Create(self);
      img.parent := Self;
      img.setBounds(5, 5, Width-10, Height-10);
      {autre propriétés }
      img.Picture.LoadFromFile('MonImage.jpg');
    end;
     
    procedure TForm1.Form1Destroy(Sender: TObject);
    begin
      img.Free;
    end;
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

  6. #6
    Membre émérite
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Par défaut
    le faite d'ajouter jpeg dans le uses le format jpg est prise en charge autaumatiquement par TPicture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    uses jpeg
     
    VignImg.Picture.Bitmap.LoadFromFile('img.jpg');

  7. #7
    Inactif
    Homme Profil pro
    Analyste-programmeur Delphi
    Inscrit en
    Décembre 2003
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-programmeur Delphi

    Informations forums :
    Inscription : Décembre 2003
    Messages : 490
    Par défaut
    Citation Envoyé par Montor Voir le message
    le faite d'ajouter jpeg dans le uses le format jpg est prise en charge autaumatiquement par TPicture
    Il dit "image bitmap incorrecte".

    En tout cas, cela ne résout pas mon problème :

    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
     
      VignBMP:  TBitmap;
      VignEve:   TJPEGImage;
    ...
      VignImg := TImage.Create(Self);
     
      with VignImg do
           begin
             Parent  := Self;
             Width   := 100;
             Height  := 100;
             Visible := False;
           end;
     
      ChemImg := 'C:\image.jpg';
    ...
      if FileExists(ChemImg) then
         begin
            VignEve := TJPEGImage.Create;
            VignBMP := TBitmap.Create;
     
            VignEve.LoadFromFile(ChemImg);
            VignBMP.Assign(VignEve);
     
            VignImg.Picture.Bitmap.Assign(VignBMP);(ou  VignImg.Picture.Assign(VignBMP);)
         end;
    Ca plante en violation d'accès sur VignImg.Picture.Bitmap.Assign(VignBMP)
    ou sur VignImg.Picture.Assign(VignBMP);

    Tout essayé, pas comprendre, fatigué

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

Discussions similaires

  1. [TImage]Problème affichage jpeg avec qualité >90
    Par Bourak dans le forum Composants VCL
    Réponses: 0
    Dernier message: 18/10/2010, 11h33
  2. Mettre jpeg depuis Oracle dans objet Timage
    Par Maglight dans le forum Débuter
    Réponses: 6
    Dernier message: 18/06/2008, 21h06
  3. EInvalidGraphic sur chargement d'un jpeg dans un TImage
    Par tomtom7 dans le forum C++Builder
    Réponses: 3
    Dernier message: 22/02/2007, 12h54
  4. Timage, Jpeg & Transparence
    Par Flow_75 dans le forum C++Builder
    Réponses: 4
    Dernier message: 03/11/2006, 14h30
  5. TColor d'un pixel dans un TImage (contenant bmp ou jpeg)
    Par Tenguryu dans le forum C++Builder
    Réponses: 4
    Dernier message: 06/09/2006, 13h58

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