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 :

Printer.Canvas et bmp


Sujet :

Langage Delphi

  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 : 60
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-programmeur Delphi

    Informations forums :
    Inscription : Décembre 2003
    Messages : 490
    Points : 287
    Points
    287
    Par défaut Printer.Canvas et bmp
    Bonjour à tous,

    C'est encore moi
    J'ai encore un truc bizarre à faire
    Ne me demandez pas pourquoi, mais je dois imprimer un logo avec le Canvas du Printer
    Je fais donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
           Logo := TGraphic.Create;
           Logo.LoadFromFile('.\MonLogo.bmp');
           Printer.Canvas.Draw(1200, 4000, Logo);
    Il plante en "erreur abstraite" sur "Logo.LoadFromFile('.\MonLogo.bmp');"

    Quelqu'un saurait-il me dire ce que je fais mal ?
    Merci de ne pas rire...

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    TGraphic est une classe abstraite, d'où ton erreur.
    Utilise TBitmap à la place (qui hérite de TGraphic ).

    @+ Claudius

  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 : 60
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-programmeur Delphi

    Informations forums :
    Inscription : Décembre 2003
    Messages : 490
    Points : 287
    Points
    287
    Par défaut
    Ben figure toi qu'c'est ben c'qui m'semblait.

    Après ton message j'ai donc insisté, et en fait L'unité déclarait une unité "WinProcs" que je n'ai pas pu ouvrir et qui doit redéfinir le type TBitmap.
    Ce qui fait que le "LoadFromFile" n'était pas dispo dans le TBitmap.
    Voilà pourquoi j'ai essayé avec TGraphic.
    Merci de ne pas avoir ri.

  4. #4
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 289
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 289
    Points : 1 940
    Points
    1 940
    Par défaut
    Il faut préciser (pour éviter les confusions)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var
    a:Graphics.TBitmap; // au lieu de a:TBitmap
    Delphi 7/XE2/XE3
    C#
    Oracle 9i à 12c
    SQL Server 2008 à 2022

  5. #5
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Confusion avec quoi ?
    La classe TBitmap est définie dans l'unité Graphics.

    @+

  6. #6
    Membre expérimenté Avatar de guillemouze
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    876
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 876
    Points : 1 448
    Points
    1 448
    Par défaut
    Citation Envoyé par Cl@udius Voir le message
    Confusion avec quoi ?
    La classe TBitmap est définie dans l'unité Graphics.
    Elle est aussi defini dans Windows il me semble (TBitmap = _TAGBitmap).
    Selon l'ordre des uses, c'est celui de l'une ou l'autre de ces unités qui sera pris si tu ne prefixe pas le type du nom de l'unité.

  7. #7
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 745
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 745
    Points : 13 306
    Points
    13 306
    Par défaut
    Mais rien ne t'empèche de déclarer ta variable en TGraphic pour rester générique.

    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
    var
      Logo :TGraphic;
     
    procedure CreateBitmap(aFileName :TFileName);
    begin
      Logo := TBitmap.Create;
      Logo.LoadFromFile('.\MonLogo.bmp');
    end;
     
    procedure CreateJpg(aFileName :TFileName);
    begin
      Logo := TJPegImage.Create;
      Logo.LoadFromFile('.\MonLogo.jpg');
    end;
     
    procedure PrintLogo;
    begin
      Printer.Canvas.Draw(1200, 4000, Logo);
    end;

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

    Informations professionnelles :
    Activité : Analyste-programmeur Delphi

    Informations forums :
    Inscription : Décembre 2003
    Messages : 490
    Points : 287
    Points
    287
    Par défaut
    Linkin a raison, j'aurai dû faire
    "a: Graphics.TBitmap;"

    En tout cas j'ai encore un problème bizarre, c'est que mon bitmap s'imprime à l'envers verticalement et horizontalement .
    Je ne vois pas pourquoi...

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

    Informations professionnelles :
    Activité : Analyste-programmeur Delphi

    Informations forums :
    Inscription : Décembre 2003
    Messages : 490
    Points : 287
    Points
    287
    Par défaut
    En fait, il faut que je fasse :
    Printer.Canvas.Draw(1000, -270, Logo);
    pour voir mon logo, mais il s'imprime à l'envers...

  10. #10
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 289
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 289
    Points : 1 940
    Points
    1 940
    Par défaut
    As-tu la possibilité de nous fournir l'image. J'ai essayé sur une des miennes ça fonctionne correctement.
    Delphi 7/XE2/XE3
    C#
    Oracle 9i à 12c
    SQL Server 2008 à 2022

Discussions similaires

  1. save canvas to bmp?
    Par adovic dans le forum Langage
    Réponses: 7
    Dernier message: 10/10/2013, 14h45
  2. Printer.Canvas.textout en arabe ?
    Par walid_kerkoub dans le forum Delphi
    Réponses: 1
    Dernier message: 18/11/2006, 16h26
  3. Printer Canvas TextOut
    Par walid_kerkoub dans le forum Delphi
    Réponses: 1
    Dernier message: 23/09/2006, 17h55
  4. Réponses: 9
    Dernier message: 10/11/2005, 12h19
  5. [JPEG] Traiter des Jpg comme des Bmp : Canvas
    Par Clorish dans le forum Langage
    Réponses: 9
    Dernier message: 20/07/2005, 11h14

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