All pastes #20928 Raw Edit

Something

public text v1 · immutable
#20928 ·published 2005-08-24 00:26 UTC
rendered paste body
function IsCharAt(x, y, Tol:Integer; var width: Integer; c: char): Boolean;
var
  BitMe, BitGame: TBitmap;
  LineMe, LineGame: PRGB32Array;
  cx, cy, rColor: Integer;
begin
  rColor:= 0;
  Result:= True;
  BitMe:= TBitmap.Create;
  BitMe.Handle:= LoadBitmap(hInstance, 'M');
  Width:= Width + BitMe.Width;
  ShowMessage(IntToStr(BitMe.width));
  BitGame:= TBitmap.Create;
  BitGame.Width := BitMe.Width;
  BitGame.Height := BitMe.Height;
  BitBlt(BitGame.Handle, 0, 0, BitGame.Width, BitGame.Height,
                        GetWindowDC(Window), x, y, SRCCOPY);
  BitGame.PixelFormat:= pf32bit;
  BitMe.PixelFormat:= pf32bit;
  for cy:= 0 to BitMe.Height do
  begin
    //Error is here in LineMe:= BitMe.ScanLine[cy]
    //though BitMe is loading Right which i can tell because it shows message of correct size
    //Erros is ScanLine out of Range error
    LineMe:= BitMe.ScanLine[cy];
    LineGame:= BitGame.ScanLine[cy];
    for cx:= 0 to BitMe.Width do
      if(RGB(LineMe[cx].R,LineMe[cx].G,LineMe[cx].B)<>0)then
        if(rColor=0)then
          rColor:= RGB(LineGame[cx].R, LineGame[cx].G, LineGame[cx].B)
        else
          if(not SimilarColors(rColor, RGB(LineGame[cx].R, LineGame[cx].G, LineGame[cx].B), Tol))then
            Exit;
  end;
  Result:= True;
end;