Hola Renegoras.
Cita:
Empezado por Renegoras
Mi duda concreta-mente hace referencia a como guardar una imagen desde un Form a una Base de Datos que tenga un campo blob y de igual forma recuperar y poder mostrar esta imagen en C++ Builder.
|
Código:
...
#include <jpeg.hpp>
// TImage a campo BLOB
void __fastcall ImageToField(TImage *aImage, TField *aField)
{
if (aImage->Picture->Graphic->ClassNameIs("TJPEGImage")) {
aField->DataSet->Edit();
aField->Assign(aImage->Picture->Graphic);
}
}
// Campo BLOB a TImage
void __fastcall FieldToImage(TField *aField, TImage *aImage)
{
TJPEGImage *JPG = new TJPEGImage;
if (aField->ClassNameIs("TBlobField")) {
JPG->Assign(aField);
aImage->Picture = NULL;
aImage->Picture->Assign(JPG);
}
delete JPG;
}
Ejemplos de llamada:
Código:
// Guardar
void __fastcall TForm1::btSaveClick(TObject *Sender)
{
DataSet->Edit();
ImageToField(Image1, DataSet->FieldByName("IMAGEN"));
DataSet->Post();
}
// Mostrar en TImage
void __fastcall TForm1::btMuestraClick(TObject *Sender)
{
FieldToImage(DataSet->FieldByName("IMAGEN"), Image2);
}
Saludos
