Espacio ocupado por un jpg guardado en un campo General

28/06/2005 - 15:39 por Josep Maria | Informe spam
Hola, tengo el siguiente problema:

Tengo un fichero jpg que ocupa físicamente 104K, el caso es que
agrego esa imagen JPG a un campo de tipo general (en una tabla que solo
tiene un registro con ese único campo), haciendo lo siguiente:

CREATE TABLE C:\Tabla.dbf (CAMPO G)
USE C:\TABLA IN 0 EXLUSIVE
APPEND BLANK
APPEND GENERAL CAMPO FROM C:\IMAGEN.JPG
USE

Si a continuación consulto por el explorador de archivos el tamaño del
archivo TABLA.DBF y TABLA.FPT me encuentro con la siguiente sorpresa:

Tamaño del archivo TABLA.DBF: 334 bytes
Tamaño del archivo TABLA.FPT: 4,350,016 bytes !!

Es decir, un archivo jpg que ocupa 105k al guardarlo como campo general en
una tabla me pasa a ocupar 4,5 Mb ... Cómo puede ser eso posible ? Hay alguna
forma de hacer que no ocupe tanto ?

He probado cambiando la linea del APPEND GENERAL por la siguiente, el
resultado es el mismo:

APPEND GENERAL CAMPO FROM C:\IMAGEN.JPG CLASS PBRUSH

Me da la impressión de que a pesar de ser un archivo jpg, internamente lo
guarda como bmp de 24 bits, però aun así tampoco me cuadra pues he editado la
imagen jpg con el Paint y la he guardado como BMP de 24 bits y me da un
tamaño de 1 Mb aprox., lo cual se queda aun muy lejos de los 4,5 Mb que ocupa
el archivo FPT.

Haciendo un PACK MEMO continua ocupando lo mismo, es decir, 4,5 Mb.

Preguntas similare

Leer las respuestas

#6 Heberto Villavicencio
29/06/2005 - 23:16 | Informe spam
Es muy recomendable que no guardes las imagenes dentro de la misma tabla de
datos, preferiblemente tenlas en una carpeta aparte y solo guardas la ruta
de la imagen, ahora bien si por requerimientos de tu sistema "tienes" q
guardar la imagen en la tabla lo que puedes hacer es grabarla de forma
binaria en un campo memo, para eso puedes utilizar FileToStr para leer el
archivo de imagen, la guardas en el campo memo, y a la hora de tener q
mostrarla utilizas StrToFile para grabar la imagen en una carpeta y luego
asocias la propiedad picture de un control de imagen.


"Josep Maria" <Josep escribió en el mensaje
news:
Hola, tengo el siguiente problema:

Tengo un fichero jpg que ocupa físicamente 104K, el caso es que
agrego esa imagen JPG a un campo de tipo general (en una tabla que solo
tiene un registro con ese único campo), haciendo lo siguiente:

CREATE TABLE C:\Tabla.dbf (CAMPO G)
USE C:\TABLA IN 0 EXLUSIVE
APPEND BLANK
APPEND GENERAL CAMPO FROM C:\IMAGEN.JPG
USE

Si a continuación consulto por el explorador de archivos el tamaño del
archivo TABLA.DBF y TABLA.FPT me encuentro con la siguiente sorpresa:

Tamaño del archivo TABLA.DBF: 334 bytes
Tamaño del archivo TABLA.FPT: 4,350,016 bytes !!

Es decir, un archivo jpg que ocupa 105k al guardarlo como campo general en
una tabla me pasa a ocupar 4,5 Mb ... Cómo puede ser eso posible ? Hay
alguna
forma de hacer que no ocupe tanto ?

He probado cambiando la linea del APPEND GENERAL por la siguiente, el
resultado es el mismo:

APPEND GENERAL CAMPO FROM C:\IMAGEN.JPG CLASS PBRUSH

Me da la impressión de que a pesar de ser un archivo jpg, internamente lo
guarda como bmp de 24 bits, però aun así tampoco me cuadra pues he editado
la
imagen jpg con el Paint y la he guardado como BMP de 24 bits y me da un
tamaño de 1 Mb aprox., lo cual se queda aun muy lejos de los 4,5 Mb que
ocupa
el archivo FPT.

Haciendo un PACK MEMO continua ocupando lo mismo, es decir, 4,5 Mb.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida