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 :

Taille de l'image imprimée


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 422
    Par défaut Taille de l'image imprimée
    Bonjour,

    j'ai un problème avec cette procédure.

    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
     
    procedure Taccueil_vins.Panel43Click(Sender: TObject);
    var
      bitmap: TBitmap;
      desktopHandle: THandle;
      deviceContext: HDC;
      ecran:string;
    begin
      desktopHandle:= GetDesktopWindow; // Récupération du handle du bureau
      deviceContext:= GetDC(desktopHandle); // Récupération du contexte de périphérique du bureau
     
      bitmap:= TBitmap.Create; // Création d'une image bitmap
      try
        bitmap.Width:= Screen.Width; // Ajustement de la taille de l'image
        bitmap.Height:= Screen.Height; // pour qu'elle corresponde à celle du bureau
     
        BitBlt(bitmap.Canvas.Handle, 0, 0, bitmap.Width, bitmap.Height,
          deviceContext, 0, 0, SRCCOPY); // Copie du bureau dans l'image bitmap
        ecran:=ExtractFilePath(Application.ExeName)+'ecran.bmp';
        bitmap.SaveToFile(ecran); // Sauvegarde de l'image dans un fichier bmp
     
       Printer.PrinterIndex := 0;
       Printer.Orientation := poLandScape;
       Printer.BeginDoc();
       // on dessine le canevas du Bitmap dans celui de Printer
       Printer.Canvas.Draw(0,0, Bitmap);
       Printer.EndDoc();
     
      finally
        bitmap.Free; // Libération de l'image
        ReleaseDC(desktopHandle, deviceContext); // Libération du contexte de périphérique
      end;
    je n'arrive pas à faire imprimer mon image en format A4.
    J'ai essayé de mettre bitmap.heigth et Width à 763 et 1024 mais j'ai toujours une image qui fait à peu près 6.5 par 8.5 (en centimètre).

    merci

  2. #2
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 422
    Par défaut
    pour info voila l'image qui sort de l'imprimante


  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 42
    Par défaut
    avec ce code, l'image dont la taille est indiquée en pixels, s'imprime, je crois, à la résolution de l'imprimante.

    la fonction Draw du canvas de l'imprimante n'est donc pas suffisante, il faudra utiliser StretchDraw ou une autre fonction similaire.

    pour cela, le mieux est d'aller voir les tutoriaux delphi dédiés à l'impression.
    http://alphomega.developpez.com/imprimer/

  4. #4
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 422
    Par défaut
    merci,

    j'ai trouvé la solution en utilisant GetFormImage et StretchDraw


    Pour ceux que ça interesse ci-dessous la procédure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure ImprimeClick(Sender: TObject);
    //Procédure imprime capture écran
    begin
      Printer.Orientation:=poLandscape;
      Printer.BeginDoc;
      Printer.Canvas.StretchDraw(rect(5,5,printer.PageWidth,printer.PageHeight),accueil_vins.GetFormImage);
      Printer.EndDoc;
     
    end;

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

Discussions similaires

  1. Récupérer la taille d'une image dans un fichier (GIF/JPEG)
    Par SheikYerbouti dans le forum Multimédia
    Réponses: 4
    Dernier message: 12/05/2005, 14h17
  2. [Photoshop] Changement de taille d'une image
    Par sole dans le forum Imagerie
    Réponses: 4
    Dernier message: 29/04/2005, 16h13
  3. Recuperation de la taille d'une image avec la propriété SRC
    Par CDRIK dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 08/10/2004, 03h05
  4. [FLASH MX] taille d'une image
    Par matN59 dans le forum Flash
    Réponses: 2
    Dernier message: 10/06/2004, 10h51
  5. [VB6] [Impression] Taille de l'image imprimée
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 24/10/2002, 09h11

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