AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Position in einem Image

Ein Thema von renekr · begonnen am 28. Jul 2006 · letzter Beitrag vom 31. Jul 2006
Antwort Antwort
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#1

Position in einem Image

  Alt 28. Jul 2006, 13:24
Hi,
ich will folgendes Realisieren.

Ich habe ein Image mit einem Shape darauf das zur Runtime positioniert wird aus Left, Top und den Heigth ,Width Werten.

Wie kann ich diese Werte zur Runtime rausbekommen wenn ihc zb. mit dem Cursor auf das Bild klicke,also Top und Left is kein Problem aber wenn ich einen 2. Punkt als Endpunkt will.?

Ist es möglich das shape zur Runtime mit der Maus zu ziehen ,also vergrößern,verkleinern usw.

Danke
  Mit Zitat antworten Zitat
Benutzerbild von atreju2oo0
atreju2oo0

Registriert seit: 5. Dez 2003
Ort: Berlin
289 Beiträge
 
Delphi 6 Enterprise
 
#2

Re: Position in einem Image

  Alt 28. Jul 2006, 13:30
Soweit ich weiß müssteste das selber machen!

Beim MouseDown speicherste x und y und beim Mouseup haste dann die zwei Puznkte die du brauchst und kannst dein Shape drübermalen...

Vielleicht gibt es da aber noch ne elegantere Methode...
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Position in einem Image

  Alt 28. Jul 2006, 13:35
Mit MouseUp, MouseDown und MouseMove lässt sich garantiert was machen.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#4

Re: Position in einem Image

  Alt 28. Jul 2006, 14:02
Hi,
wenn du die Größe änderst, dann möchtest du ja sicherlich im OnMouseMove anzeigen. Damit du nun nicht jedesmal dein Shape löscht und neu zeichnest, bietet es sich an, einfach im XOR oder notXOR Mode zu zeichnen. Hierbei wird die Farbe des Stifts mit der Farbe des Hintergrundes bitweise verglichen. 1 xor 0 und 0 xor 1 ergeben 1, der Rest 0. Interessanter ist aber der Fakt, dass (a xor b) xor b = a ist. b xor b ist immer 0. a xor 0 ist 1 wenn a = 1 und 0 wenn a = 0.
Beim Zeichnen wäre dein Hintergrund a, deine Stiftfarbe b. Zeichnest du also zweimal an der gleichen Stelle, hast du den alten Hintergrund zurück.
Das heißt, dass du dir beim Mousedown die Startkoordinaten merkst und im MouseMove die aktuellen Endkoordinaten. Wird die Maus bewegt, kannst du einfach nochmal über die alten Koordinaten zeichnen (löscht das alte Shape ohne den Hintergrund zu ändern) und dann mit den neuen Koordinaten den neuen Bereich zeichnen.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Position in einem Image

  Alt 31. Jul 2006, 13:02
Hi,
also habe es soweit hinbekommen das ich es neu zeichnen kann.

das geht nur wenn ich die Maus gedrückt halte,weil beim normalen onmove will i das nciht das sich das shape ändert.

Nun würde ich gerne das shape noch von der Größe her andern ,also wen nich auf eine seite gehe das sich dan nder Cursor ändert und man es dann schieben und ändern kann nur in diese richtung also x - Y.

wie kann ich das am besten realisieren.?
danke.
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz