I am actually using LoadFromFileIEV for the objects. After changing the rotation using RotateAllObjects and saving/loading the .iev file, the ObjTop and ObjLeft is no longer valid.
if (Length(rt)>0) then begin //there's rotation if (rt='90') then begin t := ImageEnVect1.ObjTop[0] - ImageEnVect1.ObjHeight[0]; l := ImageEnVect1.ObjLeft[0]; end else if (rt='180') then begin l := ImageEnVect1.ObjLeft[0] - ImageEnVect1.ObjWidth[0]; t := ImageEnVect1.ObjTop[0] - ImageEnVect1.ObjHeight[0]; end else if (rt='270') then begin l := ImageEnVect1.ObjLeft[0] - ImageEnVect1.ObjWidth[0]; t := ImageEnVect1.ObjTop[0]; end; end else begin l := ImageEnVect1.ObjLeft[0]; t := ImageEnVect1.ObjTop[0]; end;
xx:=trunc( l * (ImageEnVect1.Zoom/100) ); yy:=trunc( t * (ImageEnVect1.Zoom/100) ); ImageEnVect1.SetViewXY( xx-5, yy-5 );