Foros del Web » Programación para mayores de 30 ;) » Programación General »

Imágenes en Access y Crystal Reports

Estas en el tema de Imágenes en Access y Crystal Reports en el foro de Programación General en Foros del Web. Vamos a ver ya, harto estoy primero porque es martes y no viernes pero además por la cuestion que planteo. Utilizo VB 6, Crystal 8 ...
  #1 (permalink)  
Antiguo 30/03/2004, 03:13
 
Fecha de Ingreso: marzo-2004
Mensajes: 2
Antigüedad: 20 años, 1 mes
Puntos: 0
Imágenes en Access y Crystal Reports

Vamos a ver ya, harto estoy primero porque es martes y no viernes pero además por la cuestion que planteo.
Utilizo VB 6, Crystal 8 y Access 2000, y el tema va de trabajar con imágenes. La primera cuestión es el almacenamiento de imágenes en la base de datos. Consultando por ahí, he conseguido insertar las imágenes BMP en la bd mediante los Append/GetChunk, en un campo OLE (¿OLÉ?). Por cierto que aunque la de gurús que andan por ahí, si alguien se atasca con eso, me mande un email. El problema que tengo yo es que la imagen pierde calidad, aunque no tengo problema para imprimir ese campo en Crystal. ¿Qué otra solución tengo? Pues la segunda cuestión, almacenar la ruta de la imagen original. Pero entonces no tengo ni idea de cómo imprimirla en Crystal.
Toma castaña, a ver quién es el bonito del norte que lo averigua .
Gracias de antemano por la ayuda, y saludos.
  #2 (permalink)  
Antiguo 31/03/2004, 07:40
 
Fecha de Ingreso: marzo-2004
Mensajes: 3
Antigüedad: 20 años, 1 mes
Puntos: 0
Yo tengo exactamente el mismo problema que tu, pero estoy programando en c#.

¿Como has conseguido insertar la imagen como mapa de bits?

Aunque sea en VB, me daría alguna pista.

Me puedes mandar la respuesta a : [email protected]
  #3 (permalink)  
Antiguo 31/03/2004, 15:08
 
Fecha de Ingreso: enero-2004
Ubicación: Santiago
Mensajes: 87
Antigüedad: 20 años, 3 meses
Puntos: 0
hola
me gustaria que publicaran la respuesta si es que la tiene para eso son los foros para que dejen las respuestas y asi todos nos veneficiemos de ellas..ok

si tienen la repsuesta al problema la pueden publicar.. gracias de ante mano
  #4 (permalink)  
Antiguo 01/04/2004, 01:56
 
Fecha de Ingreso: marzo-2004
Mensajes: 2
Antigüedad: 20 años, 1 mes
Puntos: 0
De acuerdo Ahí va lo que hice...

Hola, primero comentaros que el objetivo es un campo OLE de una BD Access. Para las dudas, pues que MiBufer() lleva paréntesis para poder dimensionarlo a tu gusto, si no lo haces meterás datos en blanco que te fastidiarán la imagen/animación/cosa que estés metiendo :).
¿Qué hacemos? Pos mu sencillo booo :( . Pues definimos un tamaño de bufer (const TamBufer). Por ahí leí que debía ser múltiplo de 1024, aunque yo probé con distintas cifras y no hubo diferencia, quizá porque utilicé fotos pequeñas.
Calculamos número de ¿trozos? (¿como leche se traduce chunk?), y como quieras, antes o después, metes el espacio sobrante. Después, el número de chunks. Y ya lo tienes.
Para sacar las imágenes pues igual. No necesité hacer la función porque sólo me interesaba sacar el campo imagen por Crystal. Simplemente en vez de la función AppendChunck pues utilizas GetChunk, y saber que necesitarás un archivo temporal donde volcar la imagen, después la utilizas donde quieras y borras el archivo.


Sub InsertarBLOB(MIRegistro As ADODB.Recordset, _
MINombreCampo As String, MIRutaArchivo As String)

Dim TamTotal As Long
Dim TamRestante As Integer
Dim NumeroChunks As Long
Dim MIBufer() As Byte
Dim Archivo As Integer
Dim i As Integer

Const TamBufer = 8192

'On Local Error GoTo ControlError

'Abrimos el archivo y le calculamos el tamaño y numero
'de "chunks" que tenemos que añadir a la BD

Archivo = FreeFile
Open MIRutaArchivo For Binary Access Read As Archivo

TamTotal = LOF(Archivo)
NumeroChunks = TamTotal \ TamBufer
TamRestante = TamTotal Mod TamBufer

'Añadimos primero el trozo restante, redimensionando el
'bufer al tamaño que necesitamos

ReDim MIBufer(TamRestante)
Get Archivo, , MIBufer
MIRegistro(MINombreCampo).AppendChunk MIBufer

'Redimensionamos el bufer al tamaño establecido y añadimos
'el numero de "chunks" que establecimos antes

ReDim MIBufer(TamBufer)
For i = 1 To NumeroChunks
Get Archivo, , MIBufer
MIRegistro(MINombreCampo).AppendChunk MIBufer
Next i

'Terminado. Ahora a casita que llueve ...

Close Archivo
MIRegistro.Update
Exit Sub

ControlError:
Close Archivo

End Sub

Lo de la calidad de la imagen, después de investigar, creo que se debe a redimensionar la imagen en el informe de Crystal, para entendernos, la propiedad Stretch de las PictureBox. Curioso, pero en los informes/formularios de Access pasa exactamente lo mismo.
Si alguien quiere añadir algo a la historia esta, pues mejor, que yo aquí sólo soy un mandao y mucho muchito me queda que aprender. Y para dudas, mi dir. es [email protected] .
Un saludo, agradecimiento, felicitación, etc. a todos los mostros que participan en los foros.

Anubis
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:57.