FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Guardar ICOs en BlOB y después recuperarlos
Hola a todos
Resumo el problema. Tengo una base de datos donde se guardan un campo BLOB que corresponde a iconos que quiero que se muestren en un menú de diferentes aplicaciones. Posteriormente estas imágenes son leidas directamente de la base de datos con una consulta y asignando el campo obtenido a un DBImage. El problema radica en que el BLOB, que gestiono mediante una pantalla con otro DBImage solo acepta que recupere en este componentes fichero .bmp y no acepta ICOs. A mi me interesa tener ICOs para cuando los recupero en el menú mediante el componente TDBImage no se produzca ese efecto tan desagradable que es que el fondo de la imagen sea de un color diferente al fondo de la aplicación. Alguien tiene alguna pista de como se podría hacer esto. Gracias por adelantado. Saludos
__________________
[Aprendiz]: Por que siempre hay algo nuevo que aprender. |
#2
|
||||
|
||||
Cita:
// Saludos |
#3
|
|||
|
|||
Sí ya había visto el procedimiento pero no me sirve, al menos según me ha parecido.
A la hora de guardar la imagen en la base de datos hago algo así: Código:
var Icono: TIcon; Stream: TMemoryStream; begin if Taula.State=dsBrowse then Taula.Edit; //Creación del objeto Icono Icono := TIcon.Create(); //Recuperación del objeto Icono Icono.LoadFromFile(opdImagen.Filename); //Creación del Stream Stream:=TMemoryStream.Create(); //Salvamos el Icono al Stream Icono.SaveToStream(Stream); //Cargamos la imagen seleccionada del Stream TaulaIMAGEN.LoadFromStream(Stream); ... end; Alguna idea? Saludos
__________________
[Aprendiz]: Por que siempre hay algo nuevo que aprender. |
#4
|
||||
|
||||
Pero ¿qué es TAulaIMAGEN? ¿Un TDBImage? Pero el TDBImage no tiene este método ¿o sí? Y si es un TDBImage ¿no tendría que ser
TAulaIMAGEN.Picture.Icon.LoadFromStream? Y por cierto, ¿qué base estás usando? Por ejemplo en Paradox, a pesar de que el TDBImage puede cargar un icono, el campo Graphic no así que de poco sirve el TDBImage. // Saludos |
#5
|
|||
|
|||
TaulaImagen es un campo llamado "IMAGEN" del tipo TBlobField que pertenece a la tabla "Taula".
El método que comentas para los dbimages es correcto, funciona. Pero lo malo que tiene es que cuando haces un POST de la tabla que contiene el campo al que está enlazado el DBImage no se guarda la imagen del Icono que has recuperado sobre el DBImage. Como base de datos, perdona no me di cuenta que no lo había comentado, utilizo Interbase 6.0. Saludos
__________________
[Aprendiz]: Por que siempre hay algo nuevo que aprender. |
#6
|
||||
|
||||
Desconozco si puede usarse directamente un TDBImage. Haciendo unas pruebas en FireBird he podido guardar y leer iconos pero mostrándolos en un TImage.
Para guardar un icono:
Para cargar el icono uso el evento AfterScroll de Taula:
// Saludos |
|
|
|