Einbeziehen des Bildmaßstabs bei Ausschnittserrechnung

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

TimM.

Betreff: Einbeziehen des Bildmaßstabs bei Ausschnittserrechnung

BeitragDo, Jan 31, 2008 16:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Community,


ich arbeite zur Zeit an einer Leitstellensimulation und komme ganz gut vorran. Nachdem ich nun eine Art Autocomplete für die Adresse fertig gestellt habe, wollte ich eine Straßenkarte einfügen, in der der gewählte Straßenabschnitt zu sehen ist.

Um zu wissen welcher Abschnitt angezeigt werden soll, habe ich ein Dateiformat, in der die Koordinaten dieses Punktes auf dem Bild gespeichert werden.

Beispiel:

Der Spieler tippt "Bahn" in die Zeile der Adresse ein, und drückt enter, so wird eine Liste angezeigt, mit möglichen Orten, die das Wort "Bahn" enthalten. Z.B. Hauptbahnhof, Bahnhofsstraße, Nordbahnhof, etc. pp.
wählt der Spieler nun aus dieser Liste seinen gewünschten Standort, in meinem Beispiel heute mal den Hauptbahnhof, so wird die Koordinate auf dem Stadtplan ermittelt. Ich nehme hier zu Darstellungszwecken die Koordinaten 506,407.

Gehen wir mal davon aus, dass der komplette Stadtplan eine Größe von 10.000x10.000 Pixel hat, und der Bereich, der uns zur Darstellung des Ausschnitts dient, eine Größe von 400x450.


Ich fasse noch einmal zusammen, ist ja recht viel auf einmal:


Koordinaten des Bahnhofs: 506,407
Gesamtgröße des Bildes: 10.000x10.000 Pixel
Ausschnittgröße: 400x450 Pixel


Nun habe ich mir gedacht, ich nehme mir einfach die Koordinaten, ziehe von ihnen jeweils einen Teil ab, um die Startkoordinaten für "Grabimage" zu erhalten. Dies benutze ich dann, um die Zielkoordinaten in der Mitte des "Gegrabten" Ausschnitts zu haben, und diese in meinen Darstellungsbereich zu kopieren. Soweit so gut, denke ich. Doch das "jeweils einen Teil subtrahieren" hat mich zum Nachdenken angeregt.
Da das Spiel modifizierbar wird, kann ich ja nicht davon ausgehen, dass jeder Stadtplan genau 10.000x10.000 Pixel hat. Also muss ich wissen wie ich die Zahl, die von den Koordinaten abgezogen wird, in Relation zur gesamtgröße errechnen kann. Dazu auch hier mal ein Beispiel:



Ich benutze einen Stadtplan von 10.000x10.000 Pixeln, und ziehe von den Zielkoordinaten jeweils 100 Pixel ab, und setze dort mit "Grabimage" an. Benutzt ein Anwender in einer Modifikation jedoch einen Stadtplan mit 800x800 Pixel könnte das ja Probleme machen, da ich dann zu weit von den Zielkoordinaten "weg rutsche".

Kennt jemand eine Möglichkeit das Problem zu erkennen und zu beseitigen? Ich brauch einfach mal einen Denkanstoß, hab wirklich überhaupt keine Ahnung wie ich das angehen könnte.


Sollten sich Fragen stellen, werde ich die natürlich schnellst möglich beantworten, da ich vermutlich etwas verwirrend erklärt habe. Ich weiß aber wirklich nicht wie ich es besser erklären könnte.



Vielen Dank schon im Vorraus für alle hilfreichen Antworten.


Gruß,

Tim

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, Jan 31, 2008 17:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Grabimage immer an der Zielkoordinate minus der hälfte der Ausschnittsgröße ansetzen. Diesen Wert allerdings nichtr gleich bei Grabimage anwenden, sondern zuerst in eine Variable speichern. Diese Variable wird dann auf Gültigkeit geprüft (If X1Var<0 Then X1Var=0 ...).

Oder habe ich was falsch verstanden?
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

TimM.

BeitragDo, Jan 31, 2008 17:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Das könnte tatsächlich funktionieren. Ich werds mal ausprobieren. Danke Smile



Edit:

Tausend Dank, es funktioniert wie geplant! Herrlich, ich danke dir Smile

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group