bir hafta sonumu aldı ama nihayetinde bunu yapmayı basardım
Kod: Tümünü seç
function FrExportToJpg(rep: TfrReport; PgNum: Integer):String;
var
Tmp: string;
jpg: TJPEGImage;
img: TImage;
p: TfrEMFPages;
begin
Tmp := GetTmpPath + 'fax~'+IntToStr(PgNum)+'.jpg';
jpg := TJPEGImage.Create;
img := TImage.Create(nil);
try
rep.PrepareReport;
p := rep.EMFPages;
p.Pages[0].Visible := True;
img.Hide;
img.Height := 1200;
img.Width := 800;
p.Draw(0, img.Canvas, Rect(0, 0, img.Width, img.Height));
jpg.Assign(img.Picture.Bitmap);
jpg.ProgressiveEncoding:=True;
jpg.Compress;
jpg.SaveToFile(Tmp);
result:=Tmp;
finally
img.Free;
jpg.Free;
end;
end;
FR_Class, ExtCtrls ve Jpeg eklemek gerekiyor.
GetTmpPath fonksiyonu
Kod: Tümünü seç
function GetTmpPath: string;
var
pc: PChar;
begin
pc := StrAlloc(MAX_PATH + 1);
GetTempPath(MAX_PATH, pc);
Result := string(pc);
StrDispose(pc);
end;