Hola.
Y... ¿ No estará fuera del rango ?
Si no te importa que se corte el ellipse, eliminá las líneas de comprobación de este modo:
Código Delphi
[-]
procedure CenterEllipse(Img: TImage; x1,y1,x2,y2: Integer; aColor: TColor);
var
C,R: TPoint;
begin
C.X := (Img.Picture.Width) div 2;
C.Y := (Img.Picture.Height) div 2;
R.X := (x2-x1) div 2 ;
R.Y := (y2-y1) div 2;
Img.Canvas.Pen.Color := aColor;
Img.Canvas.Ellipse(C.X - R.X, C.Y - R.Y, C.X + R.X, C.Y + R.Y);
end;
Saludos
