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

Lazarus Pascal Discussion :

Problème TBitmap TImage [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Problème TBitmap TImage
    Bonjour à tous..

    J'ai moi aussi un projet à faire avec lazarus, et je bute depuis quelques jours sur un problème que je pensais simple : j'essaie d'afficher un fichier bitmap dans mon TImage puis de dessiner dessus, mais le code suivant ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    bmp:=TBitmap.Create;
       bmp.loadfromfile('FondBlanc.bmp');
       bmp:=image1.picture.bitmap;
       image1.picture.bitmap.canvas.MoveTo(50,0);
       image1.picture.bitmap.canvas.LineTo(50,350);
    En particulier, il me dit "identifier idents no member" à propos du loaddromfile.
    J'ai cherché des topics parlant du même truc, aucun ne m'aide vraiment, j'ai essayé de passer par un TBitmapImage, pareil, aucune des commandes là n'a bien marché..

    Es-ce que quelqu'un saurait ce qui ne va pas dans le code ?

    Merci d'avance de votre aide sur ce petit problème de néophyte..

  2. #2
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Le code suivant fonctionne correctement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      image1.picture.bitmap.loadfromfile('C:\...\FondBlanc.bmp');
      image1.picture.bitmap.canvas.MoveTo(50,0);
      image1.picture.bitmap.canvas.LineTo(150,350);
    pour autant que tu donnes un emplacement "absolu" (disque et répertoire) pour ton fichier image.

    Dans un deuxième temps, lorsque tu auras vu ton image et le trait dessiné dessus, tu t'attaqueras au problème de répertoire courant.

    Cordialement.

    Pierre

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Je viens d'essayer et ça ne marche toujours pas, il compile bien (merci beaucoup pour ça) et charge l'image mais ne dessine pas dessus :s

    Cela ne viendrait-il pas d'un problème de librairie ou quoi que ce soit ? la je ne travaille qu'avec Graphics et j'y suis obligé par mon école...

  4. #4
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Je n'ai pas utilisé de bibliothèques spéciales.

    Est-ce que ton image "FondBlanc.bmp fait au moins 50 pixels de large ? Sinon, fait un MoveTo(0, 0);

    Si cela ne fonctionne pas, est-ce que le code suivant te permet de voir ta ligne ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      image1.picture.bitmap.Width:= image1.Width;
      image1.picture.bitmap.Height:= image1.Height;
      image1.picture.bitmap.canvas.FillRect(0, 0, image1.Width, image1.Height);
      image1.picture.bitmap.canvas.MoveTo(50,0);
      image1.picture.bitmap.canvas.LineTo(150,350);
    Il faut avant tout donner une dimension au bitmap. LoadfromFile lui donne les dimensions de l'image qu'elle charge.

    Cordialement.

    Pierre

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci, ça marche très bien !

    Et oui, mon image était assez grande, je ne sais pas d'où venait le problème..
    Enfin bon, on va faire comme ça maintenant..

    Merci beaucoup, vraiment, vous venez de m'économiser un temps précieux ^^

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

Discussions similaires

  1. Problème d’exécution (TImage)
    Par toutou1235 dans le forum Débuter
    Réponses: 14
    Dernier message: 02/10/2014, 17h48
  2. Réponses: 1
    Dernier message: 14/11/2008, 00h24
  3. Problème instance TImage
    Par Julien_C++ dans le forum C++Builder
    Réponses: 2
    Dernier message: 19/05/2007, 17h39
  4. Problème avec la fonction Stretch de TImage
    Par laventure dans le forum Composants VCL
    Réponses: 5
    Dernier message: 09/08/2005, 13h06
  5. TBitmap et problèmes de pointeurs...
    Par benj63 dans le forum C++Builder
    Réponses: 8
    Dernier message: 28/07/2003, 13h39

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