Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#10

AW: TGraphicField JPGImage landen

  Alt 6. Dez 2017, 12:12
Alternativ zum Umweg über den MemoryStream kann man sich auch gleich vom DataSet einen BlobStream geben lassen: CreateBlobStream

Delphi-Quellcode:
var
  stream: TStream;
  JpgImage: TJpegImage;
begin
  { Image in BlobField schreiben }
  stream := DataModule1.FDMemTable.CreateBlobStream(DataModule1.FDMemTableGraficBlob1, bmWrite);
  try
    ImLeft.Picture.Graphic.SaveToStream(stream);
  finally
    stream.Free;
  end;

  { Image aus BlobField lesen }
  JpgImage := TJpegImage.Create;
  try
    stream := DataModule1.FDMemTable.CreateBlobStream(DataModule1.FDMemTableGraficBlob1, bmRead);
    try
      JpgImage.LoadFromStream(Stream);
    finally
      stream.Free;
    end;

    ...

  finally
    JpgImage.Free;
  end;
end;
OT:
Zitat:
ich versuche verschachtelte Ressourcenschutzblöcke zu vermeiden
Das saubere Trennen der Schutzblöcke für jede Resource erleichtert allerdings das Refactoring ungemein.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat