Thema: Delphi JPG in TBlobField

Einzelnen Beitrag anzeigen

Poolspieler

Registriert seit: 9. Aug 2004
165 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: JPG in TBlobField

  Alt 27. Sep 2004, 15:31
Hi,
ich möchte aber erstmal das vorhandene bild (also den Screenshot) IN die Datenbank schreiben, wobei bei unten stehenden Code eine Exception ausgelöst wird:
EInvalidGraphic --> Bitmap ist ungültig

Delphi-Quellcode:
var
   quelle, ziel_bild: TRect;
   bild: TImage;
   jpg: TJPEGImage;
begin
  bild := TImage.Create(self);
  bild.Width := WebBrowser1.Width;
  bild.Height := WebBrowser1.Height;

  quelle.Left := WebBrowser1.Left;
  quelle.Top := WebBrowser1.Top;
  quelle.Right := WebBrowser1.Width + WebBrowser1.Left;
  quelle.Bottom := WebBrowser1.Height + WebBrowser1.Top;

  ziel_bild.Left := 0;
  ziel_bild.Top := 0;
  ziel_bild.Right := WebBrowser1.Width;
  ziel_bild.Bottom := WebBrowser1.Height;

  // hier wird der eigentliche Screenshot meines Progammfensters gemacht
  bild.Canvas.CopyRect(ziel_bild, Hauptfenster.wegbeschreibung.Canvas, quelle);

  // Umwandlung des obigen Screenshots in ein jpg
  jpg := TJPEGImage.Create;
  jpg.Performance := jpBestQuality;
  jpg.CompressionQuality := 80;
  jpg.Assign(bild.Picture.Graphic);

  // speichern des JPG in die Datenbank --> des geht aber irgendwie net ;-((
  DataModule1.kunde.Edit;
// DataModule1.kundeWegbeschreibung.Assign(bild.Picture); // so würde es gehen, aber mit viiiel zu großen Datensätzen...
  DataModule1.kundeWegbeschreibung.Assign(jpg); // HIER kommt die Exception **********************************************!!!!!
  DataModule1.kunde.Post;
end;
Ich hoffe, Du verstehst jetzt mein Problem (beim ersten Versuch wollte ich euch nur den gesamten Code ersparen...

Gruß

Poolspieler
Andreas
  Mit Zitat antworten Zitat