Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Convertir jpg en bmp (https://www.clubdelphi.com/foros/showthread.php?t=87531)

emeritos 19-01-2015 13:36:02

Convertir jpg en bmp
 
Hola dilferos.

¿ Como puedo convertir una imagen jpg proveniente de una Base de datos (longblob) en una imagen bmp y despues asignarsela a un TImage?

Gracias,

Casimiro Notevi 19-01-2015 14:05:14

Mira los enlaces del final de página, creo que ahí lo encontrarás.

emeritos 19-01-2015 17:05:52

Gracias.
Los he mirado y no me sirven. Unos estan vacios y otros no me sirven.

Lo que quiero es pasar un campo longbod que esta en jpg a bmp y reflejarlo en un Timage.

Gracias.

Casimiro Notevi 19-01-2015 17:24:11

http://www.clubdelphi.com/foros/show...nvertir+imagen
http://www.clubdelphi.com/foros/show...nvertir+imagen
http://www.clubdelphi.com/foros/show...nvertir+imagen
http://www.clubdelphi.com/foros/show...nvertir+imagen
http://www.clubdelphi.com/foros/show...nvertir+imagen
http://www.clubdelphi.com/foros/show...nvertir+imagen

emeritos 20-01-2015 10:31:05

No hay manera. Haber si asi me explico mejor. Tengo un TEDBImage que apunta a un campo lognblob que esta en jpg y quiero asignarselo aun TImage pero como bmp. Lo puedo hacer asi:
Código Delphi [-]
TImage1.Picture := TEDBImage1.Picture;
pero seria como jpg que es del TEDBImage1

He probado todo lo anterior modificando todo pero siempre sale el error tipico de asignacion TPicture a Timage

Tambien he pensado grabar el TEDBImage1.Picture a un archivo y despues convertirlo en bmp y luego asignar ese archivo a TImage1.Picture pero este ultimo paso no me sale o me da tambier error de asignacion de variable.

Gracias.

Casimiro Notevi 20-01-2015 12:09:09

Cita:

Empezado por emeritos (Mensaje 487875)
Tambien he pensado grabar el TEDBImage1.Picture a un archivo y despues convertirlo en bmp y luego asignar ese archivo a TImage1.Picture pero este ultimo paso no me sale o me da tambier error de asignacion de variable.

Es una buena idea.
En esos enlaces tienes ejemplos de cómo hacerlo, contestarte sería copiar y pegar código de esos enlaces.

emeritos 20-01-2015 12:14:38

Ok volvere a intentarlo. Pero en esos enlaces viene como si el archivo lo tuviera en el disco duro dibujo.jpg y yo lo tengo en una base de dato exterior y no soy capaz de de primera grabar en el disco duro ese longblob y despues no soy capaz de asignarle ese dibujo.bmp a un Timage.

Casimiro Notevi 20-01-2015 12:21:08

Sí que hay enlaces (y otros que no he puesto) que extraen la imagen de la base de datos. Haz una búsqueda, es algo trivial.
De todas formas, ve paso a paso. Céntrate en el primer paso: extraer imagen de base de datos. Cuando lo tengas listo, ve al siguiente paso, y así...

emeritos 20-01-2015 12:49:50

Muchas gracias ya lo he conseguido lo pongo aqui por si quieres utilizarlo para alguien más:

Código Delphi [-]
  imagen : TPicture;
  Jpg: TJPEGImage;
  Bitmap: TBitmap;
.
.
.

  Imagen:= TPicture.Create;
  Bitmap:= TBitmap.Create;
  Imagen.Assign(imgMain.Picture);
  foto := 'c:\xxxxx.jpg';
  Imagen.SaveToFile(foto);
  Bitmap.Width:= Imagen.Width;
  Bitmap.Height:= Imagen.Height;
  Bitmap.Canvas.Draw(0,0,Imagen.Graphic);
  foto := 'c:\xxxxx.bmp';
  Bitmap.SaveToFile(foto);
  imgMain.Picture.LoadFromFile(foto);


A mi me ha funcionado. Muchas gracias por tu paciencia.

Despues si quieres puedes borrar xxxxx.bmp y xxxxx.jpg una vez utilizado.

Casimiro Notevi 20-01-2015 13:30:18

Ves que era fácil, y la satisfacción de lograrlo es grande :)

emeritos 20-01-2015 13:36:13

Me falta una cosita en lo anterior lo repito por si acaso

Código Delphi [-]
 imagen : TPicture;
  Jpg: TJPEGImage;
  Bitmap: TBitmap;
.
.
.

  imgMain.Picture := TEDBImage1.Picture;
  Imagen:= TPicture.Create;
  Bitmap:= TBitmap.Create;
  Imagen.Assign(imgMain.Picture);
  foto := 'c:\xxxxx.jpg';
  Imagen.SaveToFile(foto);
  Bitmap.Width:= Imagen.Width;
  Bitmap.Height:= Imagen.Height;
  Bitmap.Canvas.Draw(0,0,Imagen.Graphic);
  foto := 'c:\xxxxx.bmp';
  Bitmap.SaveToFile(foto);
  imgMain.Picture.LoadFromFile(foto);


La franja horaria es GMT +2. Ahora son las 09:51:44.

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