FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
lo más facil no me sale
Hola amigos, creo que es una tonteria pero no lo consigo.
Tengo un DB en Paradox con un campo Graphic. Ahí almaceno gráficos en bmp. Lo prefiero así, porque me ocupan muy poco y son realmente pocos gráficos. Para grabarlos en la DB utilizo el TDBimage y el OpenPictureDialog y no tengo problemas. El problema viene cuando quiero cargar la foto en un TImage desde la DB. He probado un monton de formas y siempre me dice 'tipos incompatibles', pues uso la propiedad graphic del Timage, por ejemplo, y me dice que no es compatible TGraphic con Variant. Pongo esto: Image1.Picture.Graphic:=Table1['IMAGEN']; Podríais ayudarme? Muchas gracias. |
#2
|
|||
|
|||
Hola Espartaco,
prueba a cargarlo como un stream, si buscar Tblobstream en el foro seguro que encontraras algo que te ayude. Espero que te sea de ayuda Oscar Noe
__________________
No dejes camino viejo por sendero nuevo |
#3
|
||||
|
||||
Hola, por favor para otras veces, intenta poner títulos más descriptivos a los mensajes, eso ayudará un montón a la gente que tenga el mismo problema y pueda encontrar una solución aquí usando el buscardor
En definitiva échad un vistazo a la Guía de Estilo. Un saludo |
#4
|
||||
|
||||
Pedrón bicho, llevas razón, la próxima vez lo haré así.
Oscarnoe, después de leer todo el foro de gráficos, ya había visto un hilo que hablaba de algo muy similir usando TBlobStream, lo que pasa es que era con jpg y he intentado usarlo con bmp cambiando por un TBitmap pero cuando intenta cargar el campo gráfico en el Timage me dice que el bitmap no es válido y no sé por qué, porque si visualizo el campo con un TDBimage aparece éste perfectamente. La verdad estoy un poco desesperado. De todas formas si puedes me pones un poco de código, es que soy un poco novato en esto. Gracias por contestar tan rápido. |
#5
|
|||
|
|||
si es bitmap es timage.picture.bitmap, si no me equivoco.
__________________
No dejes camino viejo por sendero nuevo |
#6
|
||||
|
||||
Eso es oscarnoe, pero resulta que tengo que cargar la imagen desde la base de datos de esta manera:
timage.picture.bitmap:=tabla1['imagen'] y al compilar me dice tipos imcompatibles Tbitmap y Variant. Ahí es donde está el problema, sabrías como solucionarlo? Muchas gracias de antemano. |
#7
|
|||
|
|||
pues deberias hacer lo mismo que con un jpeg, cargarlo con un stream
__________________
No dejes camino viejo por sendero nuevo |
#8
|
||||
|
||||
Ya, he intentado lo que pone neftali en otro hilo de este foro como pone él en su mensaje:
Código Delphi [-] procedure TForm1.JpegBlobToImage(); var Stream: Tblobstream; img: Tjpegimage; begin // Cargar el campo Blob en un Stream Stream := Tblobstream.Create(TBlobField(Table1.fieldbyname('Imagen')), bmRead); // Crear la Imagen img := Tjpegimage.Create(); // Cargar la imagen con el Stream img.loadfromstream(Stream); // Pasarla a un control IMage image1.picture.assign(img); // Liberar img.free; Stream.free; end; Para hacerlo con un TBitmat ha cambiado la linea Código Delphi [-]img: Tjpegimage; por Código Delphi [-]img: TBitmap; y la línea: Código Delphi [-]img := Tjpegimage.Create(); por Código Delphi [-]img := TBitmap.Create(); pero esto me da en tiempo de ejecución un error de 'Bitmap no válido', y el contenido del campo está bien y no está dañado. Por qué ocurre esto? Gracias otra vez por el interés oscarneo. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
No es tan facil. | Gabel | Varios | 5 | 30-08-2006 11:53:54 |
enigma muy fácil | Julián | Humor | 6 | 11-05-2005 18:02:12 |
query report ¿Por q sale sale solo el primer registro? | acl_gandalf | Impresión | 2 | 31-03-2005 02:14:20 |
Una facil | triskel | Varios | 1 | 15-10-2003 17:04:30 |
Antes era re-facil | hgiacobone | Conexión con bases de datos | 1 | 28-05-2003 22:26:06 |
|