AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Rechteck in ein Image zeichnen mit Mouse positioniertbar
Thema durchsuchen
Ansicht
Themen-Optionen

Rechteck in ein Image zeichnen mit Mouse positioniertbar

Ein Thema von Christian18 · begonnen am 20. Apr 2006 · letzter Beitrag vom 20. Apr 2006
Antwort Antwort
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#1

Rechteck in ein Image zeichnen mit Mouse positioniertbar

  Alt 20. Apr 2006, 10:48
Hallo,

ich habe ein BMP Bild, was ich in einem Image anzeigen lasse. In dem Image habe ich die Eigenschaft Proportional auf True gesetzt. In dem Image soll mit der Mouse es möglich sein kleine Rechtecke zu setzen. Bei dem Ereignis onMouseDown löse ich folgendes aus!

Image1.Canvas.Regtangle(x - 5, y - 5, x + 5, y + 5);

Meiner Meinung nach sollte das Rechteck gezeichnet werden, und zwar genau da wo die Diagonalen des Rechtecks sich schneiden. Das tut es aber nicht. Das Rechteck wird irgendwo gezeichnet. GHat jemand einen Tipp für mich???

Mit freundlichen Grüßen

Christian18
  Mit Zitat antworten Zitat
XeRo

Registriert seit: 23. Okt 2003
Ort: Warth
461 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Rechteck in ein Image zeichnen mit Mouse positioniertbar

  Alt 20. Apr 2006, 10:53
wird das bild verkleinert oder wird es in originalgröße angezeigt?

[edit]wenn man das bild verkleinert sind auch die koordinaten der pixel verschoben.[/edit]
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Rechteck in ein Image zeichnen mit Mouse positioniertbar

  Alt 20. Apr 2006, 12:55
Hallo Christian,

machst du noch mehr im Ereignis OnMouseDown()? Oder hast du aus Versehen das Ereignis der Form oder einer anderen Komponente benutzt, so dass die Koordinaten das falsche Bezugssystem haben? Das hier funktioniert:

Delphi-Quellcode:
procedure TDemoForm.ImageMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  with Sender as TImage do
    Canvas.Rectangle(X-5, Y-5, X+5, Y+5);
end;
Grüße vom marabu
  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 12:50 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