Pytanie dotyczące DelphiX-a.

Mam zmienną typu TDirectDrawSurface. Jak przepisać jej zawartość (obraz, który zawiera) do zmiennej typu TBitmap?

Oczywiście nie chodzi mi tutaj o przepisywanie pixel po pixelu, powiedzmy:

var
  Surf : TDirectDrawSurface;
  BitMap : TBitMap;
  i, j : integer;

begin


  {fragment kodu}

  for i := 0 to Surf.Width-1 do
    for j := 0 to Surf.Height-1 do
      Bitmap.Canvas.Pixels[i,j] := Surf.Canvas.Pixels[i,j];

  {}



end;

Takie rozwiązanie, przy rozmiarach 800x600 jest niezmiernie powolne.

Czy jest możliwy bezpośredni dostęp do pamięci obrazu w TDirectDrawSurface?
W TBitmap jest ScanLine, ale w TDirectDrawSurface niestety nie znalazłem takiej metody.
Czy może ktoś ma jakiś inny pomysł ???

POMOCY! [sciana]