Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Image drucken


liuhui - Fr 23.09.05 10:56
Titel: Image drucken
Hallo,
ich kann z.B. einen Stringgrid mit 'PaintTo' wie untern in eine Metadatei kopieren und dann ausdrucken, aber schaffe ich noch nicht einfach eine Image. :shock:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
  MFC:= TMetaFileCanvas.Create(Image4.Picture.Metafile,0) ;
  try
     Stringgrid1.PaintTo(MFC.Handle ,0,0)
  finally
    MFC.Free;
  end;
  printer.begindoc;
  ......


Bitte hilfe. :D

Dank

Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt.


digi_c - Fr 23.09.05 11:22

Dein Request liest sich aber umständlich ;), deswegen weiß ich nciht ob das deine Frage beantortet:

Du musst ein Objekt von Suche in: Delphi-Forum TPRINTER erstellen und in dessen Canvas malen.


AXMD - Fr 23.09.05 11:32

Bzw. CopyRect oder BitBlt ;)

AXMD


liuhui - Fr 23.09.05 11:38

user profile icondigi_c hat folgendes geschrieben:
Dein Request liest sich aber umständlich ;), deswegen weiß ich nciht ob das deine Frage beantortet:

Du musst ein Objekt von Suche in: Delphi-Forum TPRINTER erstellen und in dessen Canvas malen.


wie wir sehen, ich habe einen Stringgrid mit PaitTo auf der MetaFileCanvas gemalt,
jetzt möchte ich eine vorhandene Image gleichweise tun und drucken, aber wie?


digi_c - Fr 23.09.05 12:23

Ich denke


Delphi-Quelltext
1:
Printer.Canvas.Draw(0,0,myImage.Picture.Graphic)                    


sollte es tun.


liuhui - Fr 23.09.05 12:46

es tut aber nicht.
noch einmal, ich möchte ein Bild aus einer TImage Komponente nach einer MetaFileCanvas kopieren und dann ausdrucken.


AXMD - Fr 23.09.05 12:51

Dann kopier's zuerst ins MetafileCanvas und von dort aus ins PrinterCanvas... die Befehle hab ich weiter oben bereits gepostet; evtl. brauchst du auch noch StrechBlt

AXMD


liuhui - Fr 23.09.05 13:54

die haben nur Canvas, kein Bitmap, die Befehlen funktionieren nicht


AXMD - Fr 23.09.05 13:57

Wieso sollte BitBlt nicht funktionieren? Sowohl Metafile wie Printer haben ein Canvas...

AXMD


liuhui - Fr 23.09.05 14:07

sorry, ich bin nicht ganz fit mit BitBlt, ansonsten habe ich alles probiert


AXMD - Fr 23.09.05 14:09

Einfach mal bei MSDN danach suchen - da steht alles, was du wissen musst.

AXMD


liuhui - Fr 23.09.05 14:28

ich meine mit bitblt oder copyrec kann man nur Bitmap kopieren, aber nicht von Imagecanvas nach metafileconvas


AXMD - Fr 23.09.05 14:32

Falsch. BitBlt kann von jedem in jedes Canvas kopieren... einfach nachschauen und lesen (MSDN bzw. F1)

AXMD


liuhui - Fr 23.09.05 21:06

Dank.
mit copyrec ist doch gegangen, irgendwie habe ich vorhin villeicht verschrieben.