Thema: Delphi rundes "Image"

Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#6

Re: rundes "Image"

  Alt 29. Jul 2006, 11:13
Lol... So früh und so fleißig... ^^

Ich hoffe es stört niemanden, aber ich habe "einfach" geguckt, ob die Entfernung zum Mittelpunkt nicht größer als der Radius ist (Ich hatte vergessen zu sagen, dass es Kreis (r ist immer gleich) ist).

Wenn das Bild 100 px breit und 50 Px hoch ist:
(Change ist eine variable ob gedrückt ist)
Delphi-Quellcode:
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  setRegler(Point(50 - X,50 - Y));
end;

procedure TForm1.setRegler(Position : TPoint);
begin
  // entfernung zum Mittelpunkt
  Label3.Caption := IntToStr(Round(sqrt(IntPower(Position.X, 2) + IntPower(Position.Y, 2))));

  // Position (vom Mittelpuknkt)
  Label4.Caption := IntToStr(Position.X);
  Label5.Caption := IntToStr(Position.Y);
  // Regler zeichenen ( wenn er gezichnet werden soll)
  if (Change) and (sqrt(IntPower(Position.X, 2) + IntPower(Position.Y, 2)) <= 50) then begin
    with Image1.Canvas do begin
      Brush.Color := clGray;
      Ellipse(0,0, 100,100);
      Brush.Color := clBlack;
      Ellipse((50 - Position.X) - 3, (50 - Position.Y) - 3, (50 - Position.X) + 3, (50 - Position.Y) + 3);
    end;
  end;
end;
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat