Hi Ray
I'm not really understanding your requirements here, but some comments...
You can calculate Scr2Bmp yourself just using zoom and Offset positions, e.g.
function TImageEnView.XScr2BmpApproximated(x: integer): integer;
begin
result := trunc((x - ImageEnView1.OffsetX) * 100 / ImageEnView1.ZoomX + fo1x)
end;
You can use LockPaint and/or LockUpdate to prevent refreshes:
https://www.imageen.com/help/TImageEnView.LockPaint.html
https://www.imageen.com/help/TImageEnView.LockUpdate.html
You can display a specific area of the image using VisibleBitmapRect:
https://www.imageen.com/help/TImageEnView.VisibleBitmapRect.html
Nigel
Xequte Software
www.imageen.com