Ver Mensaje Individual
  #2  
Antiguo 02-07-2018
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.

Una opcion para obtener los valores del ancho y alto de la imágen almacenada en el campo 'FOTO' es:
Código Delphi [-]
function ImageFieldWidthHeight(aField: TField): TPoint;
var
  BF: TBlobField;
  GR: TGraphic;
  FS: Word;
  st: string;
begin
  BF := TBlobField(aField);
  // obtener signature de la imágen
  CopyMemory(@FS, @BF.Value[1], SizeOf(FS));
  st := IntToHex(FS, 4);

  GR := TGraphic.Create;
  try
    if st = '4D42' then      GR := TBitmap.Create
    else if st = 'D8FF' then GR := TJPEGImage.Create
    else if st = '0000' then GR := TIcon.Create
    // else if st = ... etc, etc
    else  raise Exception.Create('Formato de imágen no soportado');
    GR.Assign(BF);
    Result := Point(GR.Width, GR.Height);
  finally
    GR.Free;
  end;
end;

Uso:
Código Delphi [-]
...
var
  p: TPoint;
begin
   p := ImageFieldWidthHeight(Query.FieldByName('FOTO'));
   ShowMessageFmt('Width:%5d%sHeight:%5d', [p.X, #10, p.Y]);
...

Saludos
__________________
Daniel Didriksen

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