Ver Mensaje Individual
  #15  
Antiguo 26-02-2020
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Fijate si te sirve 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;
  if (C.X-R.X < 0) or (C.Y-R.Y < 0) or
     (C.X+R.X > Img.Picture.Width) or (C.Y+R.Y >Img.Picture.Height) then
    raise Exception.Create('Elipse fuera de rango');

  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;
Ejemplo de llamada:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  CenterEllipse(Image1, 17, 17, 528, 528, clBlack);
end;

Salida:


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita