Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Desarrollo en Delphi para Android (https://www.clubdelphi.com/foros/forumdisplay.php?f=57)
-   -   Cargando Imagen App Android (https://www.clubdelphi.com/foros/showthread.php?t=85714)

dison 22-04-2014 14:44:08

Cargando Imagen App Android
 
Estoy cargando una imagen en un Timage en mi Android App

Uso:
XE5
DataSnap Server
App Android Client

Si la imagen es mas o meno (40KB, 200x200) la imagen se muestra perfecta en mi Timage, pero si la imagen es mas o menos (320KB, 970x800) no se muestra nada en el Timagen y no muestra ningun error, simplemente no muestra nada.

Uso esta rutina para cargar la imagen desde mi DataSnap Server



var

BlobStream: TStream;

begin

TClienDataSet1.Open;

BlobStream := TClienDataSet1.CreateBlobStream(TClienDataSet1.FieldByName('image'),TBlobStreamMode.bmRead);

try

TImage1.Bitmap.LoadFromStream(BlobStream );


finally

BlobStream.Free;

end;

end;

Combat-F2D 22-04-2014 15:02:15

puedes utilizar el componente TImgecontrol

y lo empleas tal que

ImageControl.Bitmap.LoadFromFile('/tufichero.jpg' );

dison 22-04-2014 15:21:53

Mi imagen no proviene del filesystem, proviene de un Blob Field, por eso lo cargo via TStream

TImage1.Bitmap.LoadFromStream(BlobStream );

supongo que no habría diferencia usando un Timage o un TImageControl

DP

Neftali [Germán.Estévez] 22-04-2014 15:38:09

Te recomiendo que revises esta entrada en el blog de Salvador (Delphi Básico).
Habla sobre el tema de DataSnap y creo recordar que en algún momento tuvo problemas al enviar imágenes (al hablar con él mientras estaba preparando la entrada del blog). En la entrada explicaba el porqué y la forma de solucionarlo.

No se si es problema será el mismo que estás teniendo tú, pero no está de más revisarlo.

dison 23-04-2014 14:18:55

Gracias Neftali

Me ayudo mucho el atriculo de Salvador

Al final termine por usar StreamToJSON, del lado del servidor convierto el TBlob a Imagen, luego esta imagen la redimensiono a 200x200, luego convierto la nueva imagen a TStream y la envio al cliente Android.

mientra mas pequeña la imagen mas rápida se carga en el cliente pero la calida es minima, acualmente una imagen 400x300 tarda 6 segundo en mostrarse en la app android

Pero ya por lo menos logro cargarla.


La franja horaria es GMT +2. Ahora son las 17:18:16.

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