Jak wydrukować?

0

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

hej ;)

Tak lamersko to będzie tak:

  1. zrobić zrzut okna do pliku:
 GetFormImage.SaveToFile('c:\windows\temp\zrzut okna.bmp');
  1. 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ć.

  2. 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); 

1 użytkowników online, w tym zalogowanych: 0, gości: 1