Bonjour,
j'ai un problème avec cette procédure.
je n'arrive pas à faire imprimer mon image en format A4.
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;
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
Partager