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 10-04-2006
soloriv soloriv is offline
Miembro
 
Registrado: jul 2004
Posts: 75
Poder: 20
soloriv Va por buen camino
Convertir Formatos Graficos

Hola a todos

Para cargar a una tabla access un jpeg uso lo sgte

Código Delphi [-]
uses 
jpeg

var
bitmap:tbitmap
jpeggraf:tjpegimage
begin
bitmap:=tbitmap.create
jpeggraf:=tjpegimage.create
try
 if openpicturedialog.execute
 then  
       jpeggraf.loadfromfile(openpicturedialog.filename)
       bitmap.assign(jpeggraf)
       adotable.edit
       adotable.fields[x].assign(bitmap)
       adotable.post
finally  
  jpeggraf.free
  bitmap.free
end

lo hago asi por caracteristicas de tabla acces por eso convierto a bmp
ademas para poder usar dbimage. Esto funciona

Pero para trasportar estas imagenes a un componente hago lo siguiente:

Código Delphi [-]
var 
bitmap:tbitmap
jpeggraf:jpegimage
menst:tmemorystream

begin
bitmap:=tbitmap.create
jpeggraf:=tjpegimage.create
menst:=tmemorystream.create
try
 adotableimagen.savetostream(menst)
 bitmap.loadfromstream(menst)
 jpeggraf.assign(bitmap)
 image.picture.assign(jpeggraf)
finally
 jpeggraf.free
 bitmap.free
 menst.free
end

El Problema es que no sale la imagen en el comp. image, ademas si saco el bitmap y solo uso para esto jpeggraf y menst compila para en ejecucion me sale como error jpeg error #42.
Como solucionaria el problema de asignar si es posible a un componente tpaintbox y con formato jpeg los campos bmp de mi tabla acces
Saludos y Gracias Soloriv.

Última edición por dec fecha: 10-04-2006 a las 20:24:27.
Responder Con Cita
  #2  
Antiguo 11-04-2006
Kosmo Kosmo is offline
Miembro
 
Registrado: abr 2006
Posts: 21
Poder: 0
Kosmo Va por buen camino
no se cómo será el campo de la tabla access, pero supongo que será un BLOB.

Yo probaría a hacer un cast antes de salvarlo como stream.

Código Delphi [-]
TBlobField(adotableimagen).savetostream(menst)
 bitmap.loadfromstream(menst)
 jpeggraf.assign(bitmap)
 image.picture.assign(jpeggraf)

yo lo hice así, aunque yo guardo las fotos en la base de datos directamente en jpg.
Responder Con Cita
  #3  
Antiguo 12-04-2006
soloriv soloriv is offline
Miembro
 
Registrado: jul 2004
Posts: 75
Poder: 20
soloriv Va por buen camino
Hola a todos
Gracias Kosmo por contestar pero aun asi no logro que la imagen salga en mi image. No se si hay alguna otra forma de hacerlo porque si no me vere obligado a trabajar solo con bmp.
Saludos Soloriv.
Responder Con Cita
  #4  
Antiguo 12-04-2006
Avatar de courtois
courtois courtois is offline
Miembro
 
Registrado: abr 2006
Ubicación: Mexico DF
Posts: 200
Poder: 19
courtois Va por buen camino
Para cargar una imagen, ya sea jpeg o bmp, de preferencia jpeg, por el tamaño
Código Delphi [-]
   if DialogoAbrir.Execute then
   begin
     if (Tabla.State <> dsEdit) or (Tabla.State <> dsInsert) then Tabla.Edit;
     TablaCampoFoto.LoadFromFile(DialogoAbrir.FileName);
     Tabla.Post;
   end;
... de hecho esto carga cualquier cosa al campo

Para mostrarla en un TImage...

Código Delphi [-]
var  Jpeg:TJpegImage;
      JpegStream:TMemoryStream;
begin
   if TablaCampoFoto.IsNull then Imagen.Picture:=Nil
   else
   begin
     try
       Imagen.Picture.Assign(TablaCampoFoto); //esto funciona solo si es bmp
     except
        //pero si es jpeg...
        Jpeg:=TJpegImage.create;
        JpegStream:=TMemoryStream.create;
        try
          TablaCampoFoto.SaveToStream(JpegStream);
          //importante regresar?
          JpegStream.Seek(0,soFromBeginning);
          Jpeg.LoadFromStream(JpegStream);
          //Ahora si la mostramos
          Imagen.Picture.Assign(Jpeg);
        finally
          JpegStream.Free;
          Jpeg.Free;
        end;
     end;
   end;
end;
Responder Con Cita
  #5  
Antiguo 17-04-2006
soloriv soloriv is offline
Miembro
 
Registrado: jul 2004
Posts: 75
Poder: 20
soloriv Va por buen camino
Gracias courtois por contestar el codigo funciona con algunos cambios por ej eliminando el primer try de todas formas ya localice y salve los errores
Saludos Soloriv.
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
convertir formatos fecha davidgaldo Varios 4 09-11-2005 15:49:35
Conversor de formatos de WordPerfect a .rtf Ermek Varios 1 16-09-2005 11:07:53
Trabajar con decimales y formatos ElDuc Varios 2 28-04-2005 15:41:24
Formatos numéricos amesoft Varios 1 25-02-2005 05:09:02
Varios formatos luchopriet Impresión 0 03-09-2004 04:17:17


La franja horaria es GMT +2. Ahora son las 18:27:24.


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