Ver Mensaje Individual
  #7  
Antiguo 24-10-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola ginkaku.

Una de las opciones, la mas simple a mi modo de ver, es que guardes conjuntamente con la imagen, el tipo de la misma en otro campo creado en la tabla a ese efecto.

Supongamos que tenes los campos "IMAGE" y "IMGTYPE", este último de tipo entero en los que arbitrariamente voy a considerar 0=BMP, 1=JPG, ..., entonces aprovechando el polimorfismo podrías hacer:
Código:
...
#include <jpeg.hpp>
// (y demás necesarios)

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Graphics::TBitmap *B = new Graphics::TBitmap;
  TGraphic *G;

  switch (IBQuery1->FieldByName("IMGTYPE")->AsInteger) {
    case 0 : G = new Graphics::TBitmap; break;
    case 1 : G = new TJPEGImage; break;
    case 2 : G = new TGIFImage; break;
    //...
  }
  G->Assign(((TBlobField*)(IBQuery1->FieldByName("IMAGE"))));
  B->Assign(G);
  Image1->Picture->Bitmap->Assign(B);

  delete G;
  delete B;
}
Para el ejemplo usé componentes IBX, pero no tendría que haber inconveniente con otros.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita