Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Lemming

Alter Hase

  • »Lemming« ist der Autor dieses Themas

Beiträge: 550

Beruf: Schüler

  • Private Nachricht senden

1

19.11.2006, 23:06

Mauskoordinaten in Bildkoordinaten umrechnen [C#]

Hi,
ich hab folgendes problem:
ich habe auf meiner Form eine pictureBox mit beliebiger größe, die eine 100x100 bitmap im SizeMode Zoom entsprechend skaliert darstellt.
wenn der user jetzt mit der maus auf das bild klickt möchte ich bestimmen auf welchen pixel der dargestellten bitmap der user geklickt hat.

kennt irgendwer von euch eine methode, die für mich genau dieses problem löst? ich hab bislang noch nichts vernünftiges dazu gefunden...

schon mal danke im voraus ;)
Es gibt Probleme, die kann man nicht lösen.
Für alles andere gibt es C++...

Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

2

20.11.2006, 10:08

Du errechnest die relativen Mauskoordinaten zur linken oberen Ecke der PicBox, dann dividierst du beide komponenten durch die PicBox Width und Height (damit hast du dann die TexCoords). Wenn du jene hast, einfach mit der "wahren" Größe des Bildes multiplizieren, und du weißt den richtigen pixel auf der Texture!
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Lemming

Alter Hase

  • »Lemming« ist der Autor dieses Themas

Beiträge: 550

Beruf: Schüler

  • Private Nachricht senden

3

24.11.2006, 15:52

danke für die antwort. Sry, dass ich jetzt erst schreibe, aber ich war die letzten tage in verdun...

problem an der sache ist, dass der modus Zoom das bildseitenverhältnis erhält und das bild zentriert. dh es gibt auch stellen der picbox, die kein bild enthalten...

wundert mich sehr, dass es dafür anscheinend keine vorgefertigte funktion in den tiefen von .NET gibt. ist doch eigentlich nen recht häufiges problem oder nicht?
Es gibt Probleme, die kann man nicht lösen.
Für alles andere gibt es C++...

Werbeanzeige