AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi FMX erstellen einer Ellipse bei der Mouse Position

Delphi FMX erstellen einer Ellipse bei der Mouse Position

Ein Thema von e.oder · begonnen am 20. Mär 2020 · letzter Beitrag vom 20. Mär 2020
Antwort Antwort
e.oder

Registriert seit: 16. Mär 2020
1 Beiträge
 
#1

Delphi FMX erstellen einer Ellipse bei der Mouse Position

  Alt 20. Mär 2020, 15:16
Delphi-Version: 5
Hallo lieb Delphi Community,
gleich am Anfang ich bin ein ziemlicher Anfänger was Delphi angeht.

Also ich versuche per MouseClick eine Ellipse an der Maus Position zu erstellen leider noch ohne Erfolg.

Delphi-Quellcode:
unit Unit2;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
  FMX.Controls.Presentation, FMX.StdCtrls, FMX.Objects;

type
  TForm2 = class(TForm)
    Image1: TImage;
    procedure Image1Click(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Single);
    procedure FormCreate(Sender: TObject);
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Single);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;
  SaveState, InitialState: TCanvasSaveState;


implementation

{$R *.fmx}

procedure TForm2.FormCreate(Sender: TObject);
begin
  Image1.Bitmap := TBitmap.CreateFromFile('Kran.jpg');
  InitialState := Image1.Bitmap.Canvas.SaveState;
end;

procedure TForm2.Image1Click(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Single);
var
  AShape: TShape;
  TColor: TAlphaColor;
  MyRect: TRectF;
  x1, y1, x2, y2: integer;
begin

end;

procedure TForm2.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Single); //funktioniert
var
  AShape: TShape;
  TColor: TAlphaColor;
  MyRect: TRect;
  x1, y1, x2, y2: integer;
  p: TPointF;
  ACursor: TCursor;
begin
  begin
    p := Screen.MousePos;
    Parent := Form2;
    x1 := 80;
    y1 := 80;
    x2 := Image1.Bitmap.Canvas.Width -80;
    y2 := Image1.Bitmap.Canvas.Height -80;
    MyRect := TRect.Create(x1, y1, x2, y2);
    Image1.Bitmap.Canvas.Stroke.Color := TAlphaColorRec.Red;
    Image1.Bitmap.Canvas.Stroke.Thickness := 8.0;
    Image1.Bitmap.Canvas.BeginScene;
    Image1.Bitmap.Canvas.DrawEllipse(MyRect, 10);
    Image1.Bitmap.Canvas.EndScene;
  end;
end;

end.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
640 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Delphi FMX erstellen einer Ellipse bei der Mouse Position

  Alt 20. Mär 2020, 17:18
Kannst du uns mal etwas präziser schildern was "ohne Erfolg" heißt"?
Und wo gibst du den Inhalt der Bitmap auf dem Bildschirm aus?

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
1.836 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Delphi FMX erstellen einer Ellipse bei der Mouse Position

  Alt 20. Mär 2020, 19:02
Wird die Bitmap denn auch tatsächlich in das TImage geladen?

Wenn ich bei Deinem Beispiel statt "CreateFromfile" (hier keine Pfadangabe?) eine Bitmap direkt in das Image lade und dann auf das Bild klicke, wird die Ellipse auch angezeigt....

Geändert von Harry Stahl (20. Mär 2020 um 21:11 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf