Ändere doch mal folgendes:
Delphi-Quellcode:
for i:=0 to screen.Width-1 do begin
for x:=0 to screen.Height-1 do begin
Manchmal ist weniger mehr ...
Gruss
OLLI
Ps.: Eventuell kannst Du Deine Routine erheblich beschleunigen, wenn Du mit BitBlt zunächst den Desktop in ne Bitmap kopierst und dann per Scanline an die Geschichte rangehst! GetPixel bzw. Canvas.Pixel[x,y] ist nämlich laaaangsaaaam.