Hi Bill
You don't need to adjust for Zoom with Offset and Extent values (as they are the "onscreen" values):
procedure Tfmain.ImageEnView1DrawBackBuffer(Sender: TObject);
var
ix1: Integer;
iy1: Integer;
ix2: Integer;
iy2: Integer;
begin
ix1 := ImageEnView1.OffsetX ;
iy1 := ImageEnView1.OffsetY ;
ix2 := ImageEnView1.ExtentX ;
iy2 := ImageEnView1.ExtentY ;
ImageEnView1.BackBuffer.Canvas.Pen.Width := 1;
ImageEnView1.BackBuffer.Canvas.Pen.Color := clBlue;
ImageEnView1.BackBuffer.Canvas.Pen.Style := psSolid;
ImageEnView1.BackBuffer.Canvas.Brush.Style := bsClear;
ImageEnView1.BackBuffer.Canvas.Rectangle(ix1, iy1, ix1 + ix2, iy1 + iy2);
ImageEnView1.BackBuffer.Canvas.Pen.Color := clBlack;
ImageEnView1.BackBuffer.Canvas.MoveTo( ix1 + ix2 div 2, iy1 );
ImageEnView1.BackBuffer.Canvas.LineTo( ix1 + ix2 div 2, iy1 + iy2);
ImageEnView1.BackBuffer.Canvas.MoveTo( ix1, iy1 + iy2 div 2);
ImageEnView1.BackBuffer.Canvas.LineTo( ix1 + ix2, iy1 + iy2 div 2);
end;
Nigel
Xequte Software
www.xequte.com
nigel@xequte.com