Bonjour,
Je vous expose mon soucis.
Sur un TImage, je place d'autres TImages qui comportent des données. Chacun de ces TImages (créés de façon dynamique) sont reliés par une ligne.
Je souhaiterai rendre possible l'impression de ce qu'à fait l'utilisateur.
Afin d'avoir tout le contenu du TImage contenu, je fais une capture écran.
Ensuite je fais une impression mais le problème, c'est que c'est imprimer en très très petit.
Je ne sais pas comment imprimer le contenu de ce TImage afin que cela prenne une taille plus adapté.
Par exemple, faire correspondre la hauteur et la largeur du Timage avec la hauteur et la largeur d'une feuille.
Voici le code de la capture d'écran ainsi que l'impression:
J'espère que vous pourrai me mettre sur une piste!
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 //Procédure de capture écran procedure TFPrincipale.Copier1Click(Sender: TObject); var HandleDCBureau : HDC; begin HandleDCBureau:=GetDC(GetDesktopWindow); ImageBureau.Bitmap.Width := BitmapDessin.Width-5;// ImageBureau est un TPicture qui est créé dès le lancement de l'application ImageBureau.Bitmap.Height := BitmapDessin.Height-5;// idem pour la hauteur BitBlt(ImageBureau.Bitmap.Canvas.Handle,0,0,BitmapDessin.Width,BitmapDessin.Height, HandleDCBureau,BitmapDessin.ClientOrigin.X,BitmapDessin.ClientOrigin.Y,SrcCopy);//recopie l'image du desktop vers ImageBureau ReleaseDC(GetDesktopWindow,HandleDCBureau); Clipboard.Assign(ImageBureau); end; // Procédure d'impression procedure TFPrincipale.Imprimer1Click(Sender: TObject); var DocImprimer : TBitmap; begin Copier1Click(sender); DocImprimer:= TBitmap.Create; DocImprimer.Width:=BitmapDessin.Width; DocImprimer.Height:=BitmapDessin.Height; Printer.BeginDoc; Printer.Canvas.Draw(0,0,DocImprimer); Printer.EndDoc; end;
Merci
Partager