
30.04.2011, 15:59
|
Прохожий
|
|
Регистрация: 29.04.2011
Сообщения: 2
Репутация: 10
|
|
звыняйте.
вот полностю код.
Код:
Result := True;
Screen.Cursor := crHourglass;
with Printer do
try
PrinterIndex := Prnt;
BeginDoc;
with Canvas.Font do
begin
Name := 'Arial Cyr';
Size := 9;//7; //10;
PInch := PixelsPerInch;
Style := [fsBold];
end;
try
for J := Low(Bmp) to High(Bmp) do
begin
DrawPrintReportBmp(Canvas, 0, PInch, Bmp[J]);
end;
for I := Low(Arr) to High(Arr) do
DrawPrintReportRec(Canvas, CopyNo, PInch, Arr[i], False, DotMatrix);
finally
EndDoc;
end;
finally
Screen.Cursor := crDefault;
end;
procedure DrawPrintReportBmp(Canvas: TCanvas; PageNo, PerInch: Integer;
const Rec: TPrintReportBmp);
begin
with Rec do
//if (AtPage <= 0) or (AtPage = PageNo) then
ImageDrawIn(Canvas, PerInch, X, Y, W, H, FileName);
end;
procedure ImageDrawIn(Canvas: TCanvas; PerInch: Integer;
X, Y, W, H: Extended; const FileName: String);
var
Jpg: TJpegImage;
PX, PY, PW, PH: Integer;
begin
if not FileExists(FileName) then
begin
ErrorFmtDlg(SDataModErrorTemplateNotExists, [FileName]);
Exit;
end;
PX := Round(PerInch * X / 2.54);
PY := Round(PerInch * Y / 2.54);
PW := Round(PerInch * W / 2.54);
PH := Round(PerInch * H / 2.54);
Jpg := TJPEGImage.Create;
try
Jpg.LoadFromFile(FileName);
// sleep(1500);
Canvas.StretchDraw(Bounds(PX, PY, PW, PH), Jpg);
finally
Jpg.Free;
end;
end;
Админ: Пользуемся тегами для оформления кода!
|