PDA

Ver la Versión Completa : Problema de tImage en Qreport


paulodb
12-12-2006, 17:25:47
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




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
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 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: