function GraphicToBmp(P: TPicture; Quality: Integer = 80): TBitmap; var Jpg: TJpegImage; begin Result := TBitmap.Create; with Result do begin Width := P.Width; Height := P.Height; Canvas.Draw(0, 0, P.Graphic); end; if Assigned(Result) then begin Jpg := TJpegImage.Create; Jpg.Assign(Result); Jpg.ComPRessionQuality := Quality; Jpg.JPEGNeeded; Jpg.Compress; if Assigned(Jpg) then begin Jpg.DIBNeeded; Result.Assign(Jpg); end; end; end;