Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-10-2007
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
Imagenes JPG con InterBase

Hola Foro:

Estoy seguro que este tema ya se había tratado, pero no encuentro nada utilizando el buscador.

Necesito guardar imagenes JPG en la base de datos, con las BMP no tengo problema, pero ocupan mucho espacio.

Estoy utilizando InterBase y Delphi 7. He visto que algunos proponen guardar las imagenes en una carpeta y en la base de datos solamente la ruta y nombre de archivo, pero no es lo que necesito.

Bueno, queda planteado (nuevamente) el tema. Desde ya muchas gracias.
Responder Con Cita
  #2  
Antiguo 23-10-2007
Avatar de Gabo
[Gabo] Gabo is offline
Miembro Premium
 
Registrado: mar 2007
Ubicación: Murcia (España)
Posts: 684
Poder: 18
Gabo Va por buen camino
Échale un vistazo a los enlaces al pié de la página...

Una consulta a los que lo han hecho alguna vez, ¿incrementa mucho el tamaño de la base de datos el guardar las imágenes en ella? ¿Han tenido algún inconveniente derivado de hacerlo así?
__________________
Saludos,
Gabo

A menos que se indique lo contrario, el código estará hecho en C++Builder.

Última edición por Gabo fecha: 23-10-2007 a las 13:29:41.
Responder Con Cita
  #3  
Antiguo 26-10-2007
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Poder: 20
fidel Va por buen camino
El incremento de tamaño de la base de datos al guardar imágenes dependerá del número de registros de la base de datos y del tamaño de las imágenes a guardar, no es lo mismo guardar una foto de carnet de 20 o 30 bites que una foto de un paisaje hecha con una cámara de 10 megapixels con su más alta resolución, ni es lo mismo guardar 200 fotos que 200000 por ejemplo.

Hay muchas consultas sobre este tema en el foro

http://www.clubdelphi.com/foros/showthread.php?t=41572
Responder Con Cita
  #4  
Antiguo 26-10-2007
Avatar de Gabo
[Gabo] Gabo is offline
Miembro Premium
 
Registrado: mar 2007
Ubicación: Murcia (España)
Posts: 684
Poder: 18
Gabo Va por buen camino
Bueno, creo que a mi pregunta le faltaban detalles. Es que tengo una aplicación donde guardo la ruta a las imágenes de los productos. Son de entre 1 y 2 MB cada una para un total de 1000 productos aproximadamente. Al ver la manera de guardarlas directamente en la base de datos, me entraron mis dudas sobre si tendría algún efecto negativo a medida que esta crecía, y de ahí mi pregunta.

Creo que la mejor manera de salir de dudas será probarlo...
Gracias por tu respuesta...
__________________
Saludos,
Gabo

A menos que se indique lo contrario, el código estará hecho en C++Builder.
Responder Con Cita
  #5  
Antiguo 27-10-2007
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
Thumbs up Gracias Gabo

Haciendo un Mix de los ejemplos que hay en el pié de página pude guardar las imagenes JPG en la Base de datos.
Muchas gracias por tu ayuda.
Responder Con Cita
  #6  
Antiguo 05-11-2007
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Realmente es sencillo de realizar, el viernes pasado estove trabajando en algo parecido, porque las imágenes BMP me parecen un desperdicio de espacio, esto fue a lo que llegue.

para guardar las imágenes utiliza es código:
Código Delphi [-]
var
fs : TFileStream;
blob : TStream;
begin
  If OpenPictureDialog1.Execute Then
  Begin

  try
  If Not (TablaImages.State = dsEdit) or Not (TablaImages.State = dsInsert) Then
      TablaImages.Edit;
      
  blob := TablaImages.CreateBlobStream(TablaImages.FieldByName('CAMPO_IMAGEN'),
  bmWrite);
  
  blob.Seek(0, soFromBeginning);

  fs := TFileStream.Create(OpenPictureDialog1.FileName, fmOpenRead or
    fmShareDenyWrite);
    try
    blob.CopyFrom(fs, fs.Size)
    finally
    fs.Free
    end;
  finally
  blob.Free
  end;

Ahora, el componente TDBImage no puede visualsiliar imágenes que no sean BMP, así que como siempre, utilizaremos decendientes para la tarea. El componente que utilizo se llama TEDBImage, lo puedes encontrar en Torry.net.

Saludos.

P.D: Con este componente tambien visualizar varios tipos de imágen incluyendo PNG, WMF, ICO y muchos más.
Estoy casi seguro que con este ejemplo puedes almacenar imágenes en cualquier tipo de DB, siempre y cuando utilizes controles decendientes de TDataset.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #7  
Antiguo 17-11-2007
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
Problema resuelto, jpeg guardada

Gracias D&W y a todos los que participaron.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Imágenes en Interbase jordan23 Firebird e Interbase 10 27-06-2008 16:13:42
Cargar Imagenes En Una Tabla De Interbase Ericklsca Conexión con bases de datos 1 26-06-2006 21:14:53
Necesito interbase para un programa con interbase David Conexión con bases de datos 2 20-04-2006 00:23:55
generador de informes interbase,interbase IBO tks1974 Impresión 0 23-12-2003 08:32:17
Paradox e Interbase, como hago para transportar todo lo de paradox a Interbase Fatima Gonzalez Firebird e Interbase 2 05-05-2003 18:02:30


La franja horaria es GMT +2. Ahora son las 06:34:31.


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
Copyright 1996-2007 Club Delphi