Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   UniGui und TShape (https://www.delphipraxis.net/212978-unigui-und-tshape.html)

Dumpfbacke 2. Mai 2023 13:46

UniGui und TShape
 
Hallo Delphianer,
ich fange nun mal mit UniGui an und bin ganz am Anfang. Ich möchte hierzu eine Tiff Datei in ein Image laden und dann einfach einen roten gestrichelten Kasten (transparen nur den Rahmen) mit der Maus markieren / zeichnen. Also Maus auf den Punkt oben links setzten Linken Button gedrückt halten. Nach unten Rechts gehen uns los lassen. Nichts besonderes nur ein ganz normales Viereck. Zu TImage gibt es ja ein TUniImage. Ein OnMouseMove gibt es ja leider nicht aber mir würde es schon reichen wenn nach den loslassen des Buttons der Rahmen komplett auf einmal gezeichnet werden würde (Besser als nichts). Jetzt kommt aber mein Problem denn es gibt hier kein TShape. Hat jemand von Euch hier einen Tip wie ich es hinbekommen könnte ?

Danke Tanja.

himitsu 2. Mai 2023 14:17

AW: UniGui und TShape
 
Den Rahmen auf das Bitmap in dem Image drauf malen

oder noch ein Image/PaintBox über das andere Image und darin in das Bitmap deinen Rahmen ... den Rest transparent lassen.



Du könntest dich aber auch mit JavaScript direkt in die HTML-Komponente dieses TImages hängen, dort die Maus behandeln und den Rahmen auf's Canvas malen, oder mit einer anderen Komponente drüberlegen,
und wenn fertig deinem Programm die Koordinaten schicken.

Dumpfbacke 2. Mai 2023 14:28

AW: UniGui und TShape
 
Ich möchte auf das Image (Bild) drauf malen. Der Rahmen soll transparent sein. Am Ende möchte ich erreichen das ich die Punkte von dem Rahmen habe und diesen Bereich, der der User mit dem Rahmen markiert hat aus dem Image dann kopieren kann. also "nur" ein Transparentes Viereck auf dem Bild.

Dumpfbacke 2. Mai 2023 14:36

AW: UniGui und TShape
 
So mache ich es normal unter Delphi beimTImage

Delphi-Quellcode:

Shape ist ein TShape;

OnMouseDown

Shape.Left := X;
Shape.Top := Y;
Shape.Width := 0;
Shape.Height := 0;

OnMouseMove

Shape.Width := X - Shape.Left;
Shape.Height := Y - Shape.Top;

OnMouseUP
Shape.Width := X - Shape.Left;
Shape.Height := Y - Shape.Top;
Repaint;

Dumpfbacke 27. Mai 2024 15:49

AW: UniGui und TShape
 
Hallo Leute,
ich muss den alten Beitrag leider noch mal raus holen. Ich habe es bis jetzt immer noch nicht hin bekommen. Gibt es ggf jemadn der mit hier mitlerweile einen Tip geben kann ? Ich möchte nur ein Rechteck zeichen und dann an die Koordinaten ran zu kommen. Mit den Daten möchte ich dann ein Teil des Bildes ausschneiden und weiter verarbeite.Da ich es seinerzeit nicht hinbekommen habe wurde von mir ein anderes Programm (VCL) geschrieben wo ich an die Koordinaten ran kommen und diese dann von Hand in viel Felder von der UniGui Anwendung eintrage. Geht zwar aber ist auf Dauer echt umständlich und kostet viel Zeit. Des weiteren muss ich das Bild auch immer in die anderen Anwednung noch zusätzlich laden.

Eventuell weiß ja mitlerweile jemand eine Lösung für mein Problem ? Ich komme da einfach nicht weiter und so wie es ist finde ich es sehr umständlich.

Danke schon mal an alle welche mir hier ggf. antworten werden.Tanja.

Olli73 27. Mai 2024 17:14

AW: UniGui und TShape
 
Hast du es denn Mal mit einem HTML5 Canvas probiert? Das sollte der richtige Ansatz sein.

Dumpfbacke 28. Mai 2024 04:44

AW: UniGui und TShape
 
Zitat:

Zitat von Olli73 (Beitrag 1537207)
Hast du es denn Mal mit einem HTML5 Canvas probiert? Das sollte der richtige Ansatz sein.

Kannst du mir hierzu etwa mehr Infos geben da mir das leider nichts sagt.- Danke

TomyN 28. Mai 2024 06:10

AW: UniGui und TShape
 
Such mal im Netz nach Javascript -> Canvas da findest Du viele Infos und Beispiele,
z.B. hier: https://developer.mozilla.org/en-US/...API/Canvas_API

Olli73 28. Mai 2024 08:11

AW: UniGui und TShape
 
UniGUI besitzt doch so eine HTML5-Canvas-Komponente. Die kann man serverseitig (ObjectPascal) oder clientseitig (Javascript) ansprechen. Serverseitig ist wahrscheinlich einfacher, clientseitig dafür performanter.

Dumpfbacke 29. Mai 2024 06:04

AW: UniGui und TShape
 
Danke schon mal für Eure Infos. Mein Problem ist das es bei einem TUniImage kein OnMouseMove gibt. Ich habe Irgendwo mal gelesen das es mit JavaScrip "erzegen" muss ? Bin ich hier nun komplett falsch unterwegs denn Eure Antworten gehen irgendwie in einen andere Richtung hier

Tanja


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz