Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-08-2008
waly2k1 waly2k1 is offline
Miembro
 
Registrado: dic 2006
Ubicación: El país de las maravillas(Argentina)
Posts: 251
Poder: 20
waly2k1 Va por buen camino
Hola JoysticK
Es extraño el tamaño de la imagen
compacto la BD y me reduce de 26 mb a 8 nose como lo guardas pero
con las rutinas que te pasé funciona a la perfeccion con Access.

Y cuando visualizo un registro me aparece el texto Datos Binarios Largos en los campos que son Objeto OLE. Y no así Imagen de MS Photoeditor 3 o lo que fuera que estes guardando ahí, o sea que no estas guardando una imagen
pura sino con formato propio tipo .PSD de photoshop, ademas por el peso
para ser jpg debería ser muy enorme la foto/imagen.

Asi que deberias comenzar por cargar imagenes jpg o bmp sin formatos
propios de una aplicación, o bien guardaste como jpg algo con otro
formato ya que no es suficiente elegir la extension al guardar.

A continuación te copio unas lineas que hago por si es bmp o jpg una imagen, se que hay maneras mas sencillas de hacerlo, pero en su
momento fue lo que se me ocurrio. No es indistinto para el objeto
image si es bmp o jpg pq genera una excepcion

Código:
if not qryEMP.FieldByName( 'FOTO' ).IsNull then
begin
    sTypeFOTO := Copy( AnsiString( qryEMP.FieldByName( 'FOTO' ).Value ), 1, 2 );
    if sTypeFOTO = 'BM' then // Es BMP ?
    begin
        sFOTO := sMainFolder + 'IMGs\TEMP_' + IntToStr( iEmpleado ) + '.bmp';
    end
    else
    begin
        sFOTO := sMainFolder + 'IMGs\TEMP_' + IntToStr( iEmpleado ) + '.jpg';
    end
end;

imgFoto.Picture := nil;
if FileExists( sFOTO ) then
begin
    DeleteFile( PChar( sFOTO ) );
end;

if not qryEMP.FieldByName( 'FOTO' ).IsNull then
begin
    ( qryEMP.FindField( 'FOTO' ) As TBlobField).SaveToFile( sFOTO );
    imgFoto.Picture.LoadFromFile( sFOTO );
end;
Saludos y espero te sirva de algo. Fijate bien q estas guardando, que sea una imagen jpg o bmp y no formatos extraños
Responder Con Cita
  #2  
Antiguo 08-08-2008
Avatar de JoysticK
JoysticK JoysticK is offline
Miembro
 
Registrado: abr 2004
Posts: 68
Poder: 23
JoysticK Va por buen camino
La cosa es que no se que como han guardado esos campos, lo que se seguro es que son imagenes, documentos escaneados a una resolucion bastante bestia por eso el peso, el problema es que no se exactamente como han metido esas imagenes en ese campo pues me han encargado importar esa base datos a interbase pero me encuentro con el problemita de la imagen de las narices..

¿ Has conseguido exportar la imagen de la base de datos que te he subido como ejemplo ?

Es que yo no consigo guardar el contenido de ese campo a ningun fichero que despues me reconozca como una imagen

con el Copy( AnsiString( qryEMP.FieldByName( 'FOTO' ).Value ), 1, 2 ), estas copiando los primeros 2 caracteres del string conetenedor de la foto no ? y miras si es BM o JPG, pero no estos campos no se como los han guardado, si abres el fichero exportado mediante campo.savetofile con un editor hexadecimal vas a ver que cosas mas raras tiene en al cabecera del fichero...

Un ejemplo del comienzo de un fichero exportado mediante savetofile abierto con editor binario:

Código:
;       / ÿÿÿÿFotografía de Photo Editor MSPhotoEd.3         MSPhotoEd.3          8Y ÐÏà¡±á                >  þÿ	            Z                   þÿÿÿ                       	   
         
                                                             !   "   #   $   %   &   '   (   )   *   +   ,   -   .   /   M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  [  \  ]  ^  _  `  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿL  þÿÿÿþÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿ1   2   3   4   5   6   7   8   9   :   ;   <   =   >   ?   @   A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z   [   \   ]   ^   _   `   a   b   c   d   e   f   g   h   i   j   k   l   m   n   o   p   q   r   s   t   u   v   w   x   y   z   {   |   }   ~      €   R o o t   E n t r y                                               ÿÿÿÿÿÿÿÿ   @9”Þ6Ï•> À¨@)é            °(V¨^ðÈ   @       O l e                                                         
 ÿÿÿÿÿÿÿÿÿÿÿÿ
como puedes ver el principio del fichero ni es BM, ni JP ni leches... a saber en que se guarda esto
__________________
Borland Delphi XE2 // Interbase Server
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Agregar campo en una tabla access desde delphi Chogo Tablas planas 1 10-10-2007 21:22:42
Grabar Imagen en Tabla Access novato03 Conexión con bases de datos 7 02-10-2007 23:49:02
Agregar Campo en Tabla Access MaMu Conexión con bases de datos 2 25-05-2007 19:35:15
Modificar campo tabla access desde delphi JuanHC Conexión con bases de datos 3 25-09-2006 13:15:02
Modificar campo de tabla en MS ACCESS i_minex Servers 1 04-03-2005 09:05:15


La franja horaria es GMT +2. Ahora son las 16:05:44.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi