Ver Mensaje Individual
  #1  
Antiguo 01-07-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
De Quick Report a JPG

Código Delphi [-]
procedure TFPreview.SpeedButton1Click(Sender: TObject);

  procedure ajpeg(archivo:string);
  var
     Jpg:TjpegImage;
     Bmp:Tbitmap;
  begin
     Jpg:=TjpegImage.Create;
     Bmp:=TbitMap.Create;
     Try
        Bmp.LoadFromFile(archivo+'.bmp');
        Jpg.Assign(Bmp);
        Jpg.CompressionQuality:=50; // de 1..100
        Jpg.Compress;
        Jpg.SaveToFile(archivo+'.jpg');
     Finally
     Jpg.Free;
     bmp.free;
     end;
  end;

var
  MyMETA : TMetafile;
  MyBMP  : TBitmap;
  i:integer;
begin
   MyMETA:=TMetafile.Create;
   i:=1;
   save.Title:='Importar Documento a JPG';
   save.Options:=[ofOverwritePrompt];
   save.filename:='';
   save.Execute;
   if save.filename<>'' then begin
      while i<=QRPreview.QRPrinter.PageCount do begin
          mymeta.Assign(qrpreview.QRPrinter.GetPage(i));
          mymeta.Enhanced:=true;
          mymeta.SaveToFile(save.FileName+' ('+inttostr(i)+' de '+inttostr(QRPreview.QRPrinter.PageCount)+')'+'.emf');
          MyBMP:=TBitmap.Create;
          MyBMP.Width := myMeta.width;
          MyBMP.Height := mymeta.height;
          MyBMP.Canvas.Draw(0,0,MyMETA);
          MyBMP.SaveToFile(save.FileName+' ('+inttostr(i)+' de '+inttostr(QRPreview.QRPrinter.PageCount)+')'+'.bmp');
          MyBMP.FreeImage;
          ajpeg(save.FileName+' ('+inttostr(i)+' de '+inttostr(QRPreview.QRPrinter.PageCount)+')');
          DeleteFile(save.FileName+' ('+inttostr(i)+' de '+inttostr(QRPreview.QRPrinter.PageCount)+')'+'.emf');
          DeleteFile(save.FileName+' ('+inttostr(i)+' de '+inttostr(QRPreview.QRPrinter.PageCount)+')'+'.bmp');
          inc(i);
      end;
   end;
   MyMeta.Free;
   Close;
end;
Responder Con Cita