function TForm1.ReadWindAngle : Integer; var wPixel, bRed : integer; fCurAngle, nRadius, nX, nY : integer; begin fCurAngle:=0; nradius:=15; for fCurAngle:=0 to PRED(360) do begin Memo1.Lines.Add(IntToStr(fCurAngle)); nX := Trunc(241 + (cos(DegToRad(fCurAngle)) * nRadius)); //old interface nY := Trunc(573 + (sin(DegToRad(fCurAngle)) * nRadius)); //old interface //nX := Trunc(400 + (cos(DegToRad(fCurAngle)) * nRadius)); //new interface //nY := Trunc(27 + (sin(DegToRad(fCurAngle)) * nRadius)); //new interface (SinCos is faster) form1.canvas.LineTo(nX,nY); wPixel := form1.canvas.Pixels[nX, nY]; bRed := (wPixel and $FF); if (bRed > $9E) then begin Memo2.Lines.Add('Found Pixels: '+IntToStr(fCurAngle)); end; end; end;