Hola
Desde mi sistema debia guardar una foto en la tabla de stock, para luego usarla en una app que hice en el celu. Pero las imagnes las tenia referenciadas por el path, en el sistema de escritorio todo bin pero como hacia para mandarla al celu si solo tenia el path, uso los componentes de RemoteDB, en la app, lo que no tengo un servidor rest. entonces estaba con el dilema de como pasar la imagen por defecto a la tabla de stock. Hice la consulta a ChatGPT y me dio esta solucion la cual me anduvo joya y la dejo por si alguien le hace falta
Código Delphi
[-]procedure GuardarImagenPorDefecto;
var
QueryFoto, QueryStock: TFDQuery;
ImagenOriginal: TGraphic;
ImagenReducida: TJPEGImage;
Bitmap: TBitmap;
Stream: TMemoryStream;
RutaImagen: string;
begin
QueryFoto := TFDQuery.Create(nil);
QueryStock := TFDQuery.Create(nil);
ImagenReducida := TJPEGImage.Create;
Bitmap := TBitmap.Create;
Stream := TMemoryStream.Create;
try
QueryFoto.Connection := FDConnection1;
QueryStock.Connection := FDConnection1;
QueryFoto.SQL.Text := 'SELECT FOTO FROM STOCK_FOTOS WHERE POR_DEFECTO = ''S''';
QueryFoto.Open;
if not QueryFoto.IsEmpty then
begin
RutaImagen := QueryFoto.FieldByName('FOTO').AsString;
if FileExists(RutaImagen) then
begin
if LowerCase(ExtractFileExt(RutaImagen)) = '.png' then
ImagenOriginal := TPngImage.Create
else
ImagenOriginal := TJPEGImage.Create;
try
ImagenOriginal.LoadFromFile(RutaImagen);
Bitmap.SetSize(100, 100);
Bitmap.Canvas.StretchDraw(Rect(0, 0, 100, 100), ImagenOriginal);
ImagenReducida.Assign(Bitmap);
ImagenReducida.CompressionQuality := 80;
ImagenReducida.SaveToStream(Stream);
QueryStock.SQL.Text := 'UPDATE STOCK SET FOTO = :FOTO';
QueryStock.ParamByName('FOTO').LoadFromStream(Stream, ftBlob);
QueryStock.ExecSQL;
finally
ImagenOriginal.Free;
end;
end
else
ShowMessage('La imagen no existe: ' + RutaImagen);
end
else
ShowMessage('No se encontró imagen por defecto.');
finally
QueryFoto.Free;
QueryStock.Free;
ImagenReducida.Free;
Bitmap.Free;
Stream.Free;
end;
end;
y si alguien usa RemoteDB que me avise para hacer cambio de ideas.
Gracias