FreeReport Image Export

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

FreeReport Image Export

Mesaj gönderen gkimirti »

FreeReport ta Jpeg yada Tiff formatında bir export desteklemiyor, Forumda da Quickreport icin bazı kodlar var ama Freereport a dair hic bir sey bulamadım,
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;
uses kısmına
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;
ÜŞENME,ERTELEME,VAZGEÇME
Cevapla