Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Problema de tImage en Qreport (https://www.clubdelphi.com/foros/showthread.php?t=38361)

paulodb 12-12-2006 17:25:47

Problema de tImage en Qreport
 
Tengo un problema y necesito saber si pueden ayudarme. Yo estoy utilizando qReport para emitir libretas de calificaciones de un colegio y lo hago por curso. A cada libreta le añado un logo el cual es cargado previamente por el personal de la institución. Entonces lo que hago es buscar primero la ruta del logo y luego relacionarlo con un TImage.

RutaDelLogo := 'C:/MisDocumetos/logo.jpg';
if fileExists(RutaDelLogo) then
tImage.Picture.LoadFromFile(RutaDelLogo);

Mi problema es que cuando emito las libretas, en algunas me sale el logo perfectamente y en otras sale un cuadrado negro como si no lo pudiese cargarlo. Saben a que se debe?. Agradeceria una respuesta

Paoti 12-12-2006 17:56:57

hey a mi me sucedia eso tambien............. ya no recuerdo que paso con ese sistema si lo pasaron aproduccion o no, jajajaj

dejame ver en la otra compu, vuelvo, no te vayas a ir :eek:

Paoti 12-12-2006 18:03:31

ahhh ojala se solcune, aqui uso un stream, par tu valdria el de loadformfile.

agrega la unidad jpeg a uses, para que te carge jpg.

creo que el detalle es en el evento before print




Código Delphi [-]
procedure TFrmRep.DetailBand1BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
  var bs : TStream; jp : TJpegImage; buff: Word;
  begin
// alinear la descripcion
QRDes.Top := DetailBand1.Height - 180;

  bs := FrmCapturaDocumentos.QDocumentos.CreateBlobStream(QDocumentosImagen,bmRead);
try
bs.Seek(0,soFromBeginning);
if bs.Read(buff,2) > 0 then
begin
  bs.Seek(0, soFromBeginning);
  case buff of
  $4D42: qmyImg.Picture.Bitmap.LoadFromStream(bs);
  $0000: qmyImg.Picture.Icon.LoadFromStream(bs);
  $0001,$CDD7: qmyImg.Picture.Metafile.LoadFromStream(bs);
  $D8FF: begin
  jp := TJpegImage.Create;
  jp.LoadFromStream(bs);
  qmyImg.Picture.Assign(jp);
  FreeAndNil(jp);
  end
  else qmyImg.Picture := nil;
end;
end;
finally
FreeAndNil(bs);
end;
end;

paulodb 26-12-2006 17:03:50

listo!
 
Gracias muchacho... el problema la final lo soluciones rapido. Utilice el uses JPGE como me recomedaste y ademas yo estaba cargando la imagen en cada hoja que salia y eso traia problemas con la memoria. Lo que hice fue cargarlo por unica ves cuando cree el Qreport y despues asignarlo por cada hoja que emitida. Y listo!... gracias por tu ayuda.

Paulo

fide 30-12-2006 17:27:36

oye
 
oye si fueses mas inteligente estudiarias por tus libretas normales y de seguro fueses mucho mas inteligente de lo que te imaginarias por la pc solo aprenderas lo tactioco en la informatica pero no ha nada cono lo natural ok:eek:


La franja horaria es GMT +2. Ahora son las 01:58:54.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi