Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   insertar jpgs o cambiar formato de imagenes (https://www.clubdelphi.com/foros/showthread.php?t=13003)

JoseQ 03-08-2004 16:46:00

insertar jpgs o cambiar formato de imagenes
 
me guistaria poder insertar jpeg en una tabla paradox, como creo k no es posible me gustaria transformar las imagenes de jpeg a bmp en runtime i luego almacenarlas para poder imprimirlas en un informe, gracias

Neftali [Germán.Estévez] 03-08-2004 16:56:34

Cita:

Empezado por JoseQ
me guistaria poder insertar jpeg en una tabla paradox, como creo k no es posible...

Bueno, tal vez sí sea posible:

Código:

Código Delphi [-]

// Cargar el jpeg
Procedure LoadJpeg;
Var
  str : tblobstream;
  img:Tjpegimage;
begin

  // Cargar el campo enn un stream
  Str := Tblobstream.Create(Table1.fieldbyname('Yourfield' {nombre de tu campo});

  // Crear el image
  img:=tjpegimage.create;

  // Cargarlo en un jpeg
  img.loadfromstream(str);

  // Pasarlo a un Image
  image1.picture.assign(img);

  // liberar
  img.free;
  str.free;
end;
 

// Guardarlo
Procedure SaveJpeg;
Var
  str : tblobstream;
  img:Tjpegimage
begin

  // Pasarlo a stream
  Str := Tblobstream.Create(Table1.fieldbyname('YourField');

  // Crear el jpeg
  img:=tjpegimage.create;

  // Asignarlo de la image
  img.assing(image1.picture);

  // Grabar
  img.savetostream(str);

  // Liberar
  img.free;
  Str.Free;
end;

Cita:

Empezado por JoseQ
...me gustaria transformar las imagenes de jpeg a bmp en runtime i luego almacenarlas para poder imprimirlas en un informe, gracias

Si quieres probar a hacerlo, los métodos assign de los objetos TBitmap y TJPEGImage te deberían permitir asignar y convertir objetos de ambos tipos. Pruebalo, si tienes algún problema ya diras...

JoseQ 03-08-2004 17:14:55

me da un error en la asignacion del stream, incompatibilidad del tipo de campo Tfiel-tblobfield, mi campo esta definido como graphic en paradox ...

Neftali [Germán.Estévez] 03-08-2004 17:36:21

¿Has probado con un tipo Binary?

JoseQ 03-08-2004 17:48:39

si, e probado, i me da el mismo tipo de error

JoseQ 25-08-2004 18:56:14

despues de leer por aqui que era posible insertar jpgs en tablas paradox e estado intentado averiguar la forma de hacerlo a traves de un blobstream,pero el programa falla al salvar el jpg en el stream,produciendo una violacion de memoria, tengo el siguiente codigo para insertar las imagenes



Código Delphi [-]
procedure insertartabla;
var indice:integer;
    img:tpicture;
    arx:string;
    str : tblobstream;
begin
indice:=0;
form1.dbimage1.Picture.RegisterFileFormat('jpg','JPG',TJPeGimage);
form1.Table1.Open;
repeat
arx:=lista.Strings[indice];
img:=tpicture.Create;
img.RegisterFileFormat('jpg','JPG',TJPeGimage);
img.LoadFromFile(arx);
form1.Table1.Insert;
form1.Table1linea.AsInteger:=indice;
Str := Tblobstream.Create(form1.Table1Imagen,bmwrite);
tjpegimage(img).savetostream(str);
form1.Table1.post;
indice:=indice+1;
until indice=lista.Count;
lista.Free;
img.Free;
str.free;
end;

SnaKe 26-08-2004 11:19:05

Hola,

Te recomiendo la lectura de este hilo:

http://www.clubdelphi.com/foros/showthread.php?t=2450


La franja horaria es GMT +2. Ahora son las 15:55:11.

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