Nie wiem czy było już to poruszone, ale nigdzie nie mogę znaleźć. A mianowicie:
Mam sobie obrazek z jpg lub bmp (mało ważne). Jest to strona pewnego formularza. Na tym obrazku jest kilka pól, które należy odręcznie wypełnić. I teraz zasadnicza część. Jeżeli na tych polach umieszcze komponenty edit to mogę wprowadzić tam dane. Wszystko już ładnie wygląda. Tylko jak ja mam to teraz wydrukować (obrazek z naniesionymi textami)?
Z góry dzięki za jakiś konstruktywny opis.
0
0
hej ;)
Tak lamersko to będzie tak:
- zrobić zrzut okna do pliku:
GetFormImage.SaveToFile('c:\windows\temp\zrzut okna.bmp');
-
Wczytać ten plik do zmiennej typu TBitmap i okroić tą bitmapkę
z wszelkich pierdołów jak belka itp. czyli wyciąć tylko to co ma być
widać. -
na koniec wydrukować :)
0
Celadon, do tego sluzy klasa Tprinter i w helpie delphi masz przyklad jak go uzywac . Nie robilem tego nigdy ale to sie wydaje dosc proste, sprawdzales?
0
timage.canvas.textout //(czy cos tam innego) wypisujesz tekst w odpowiednim miesjcu na obrazku
potem to drukujesz:
procedure TForm1.Button1Click(Sender: TObject);
var
Rec: TRect;
Rate: Double;
begin
if PrinterSetupDialog1.Execute then
begin
//Image1.Picture.LoadFromFile('factory.bmp');
Rate:=Image1.Picture.Height/Image1.Picture.Width;
Rec:=Rect(
5,
5,
Printer.PageWidth-5,
Trunc(Printer.PageHeight*Rate-
GetDeviceCaps(Printer.Handle,LOGPIXELSX))-5);
Printer.BeginDoc;
Printer.Canvas.Draw(0,0,Image1.Picture.Graphic);
//Printer.Canvas.stretchDraw(rec,Image1.Picture.Graphic); //- zeby byl rozciagniety
Printer.EndDoc;
end;
end;
albo prosciej, lecz wpierw musisz pli zapisac na dysk:
ShellExecute(handle,'print','c:\plik.bmp',nil,nil,0);