WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Simulationen > Designer Forum

Designer Forum Treffpunkt für Gedankenaustausch von Simmern, die selbst

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 13.09.2006, 23:39   #1
Isra
Senior Member
 
Registriert seit: 08.06.2004
Beiträge: 132


Isra eine Nachricht über Yahoo! schicken
Frage XML Text to bmp?

Hallo Zusammen!
Nochmals ne xml Frage:

Ich habe einen Textausgabe die so ausschaut:
PHP-Code:
      <element>
        <
Position X="38" Y="35"/>
        <
text X="73" Y="26" Length="7" Fixed="Yes" Font="Quartz" Adjust="Left" VerticalAdjust="Center" Color="#FF9933" Bright="1"
          <
string> %((A:PLANE LATITUDEdegree latitude))%!08.5f!</string>
        </
text>
      </
element
Jetzt möchte ich aber anstatt der generierten Zahlen, BMP's verwenden, also für jede Zahl von 0 bis 9 ein Bitmap.

Frage nun, wie kriege ich das hin? Grund dafür ist dass ich photoreale Texturen verwenden möchte, die ich mit der Textausgabe nicht hinkriege.

Vielen Dank für Eure Hilfe
____________________________________
Gruss Beat
Isra ist offline   Mit Zitat antworten
Alt 14.09.2006, 01:11   #2
harry3
Inventar
 
Registriert seit: 11.06.2001
Alter: 39
Beiträge: 2.397


harry3 eine Nachricht über ICQ schicken
Standard

Du musst die Zahl zuerst einmal in die einzelnen Stellen trennen.
Nehmen wir als Bsp. die Zahl 123. Die Hunderterstelle ist 1, die Zehnerstelle 2 und die Einerstelle 3.
Die einzelnen Stellen bekommst du mittels einer Modulodivision(=>ermittelt Rest einer Division, Rechenzeichen ist das Prozentzeichen %).
Einerstelle: Zahl%10, Bsp.: 123%10=3
Zehnerstelle: (Zahl%100-Zahl%10)/10, Bsp.: (123%100-123%10)/10=(23-3)/10=2
Hunderterstelle: (Zahl%1000-Zahl%100)/100., Bsp. (123%1000-123%100)/100=1

Du kannst also für jede Stelle eine Variable machen, die die entsprechende Ziffer speichert(Bsp. (L:h_stelle,numbers); (L:z_stelle,numbers), usw...)

Mittels Select-Value-Case fragst du dann für jede Stelle ab, welchen Wert(0...9) sie hat, und du lädst in den Cases dann die entsprechenden Bitmaps.

Bei einer 8.5f Zahl wird dass eine ziemliche Tipparbeit...aber das Grundprinzip ist, wie du siehst, recht einfach.

Übrigens sieht das Radar sehr gut aus! Woher bekommst du denn die Navigationspunkte? Sind die aus dem MS GPS geladen oder ist es eine Bitmap welche du verschiebst???


Grüße,
Harri
harry3 ist offline   Mit Zitat antworten
Alt 14.09.2006, 19:03   #3
Isra
Senior Member
 
Registriert seit: 08.06.2004
Beiträge: 132


Isra eine Nachricht über Yahoo! schicken
Standard

Hallo Harri!
Danke für Deine ausführliche Antwort , bin aber doch ziemlich überfordert damit. Könntest Du evtl. mal ein Beispiel machen, damit ich einen Anhaltspunkt habe um den Rest zu schreiben?
Was das ganze am Schluss wird, hatte ich Dir mal vor ein paar Wochen gemailt, inkl. xml Code was ich bis anhin schon habe.

Ja die Nav Punkte werden aus dem MS-GPS gelesen, hatte noch nicht die Zeit dies auf ein verschiebbares BMP zu machen. Das Radar kann übrigens noch viel mehr, z.B Online od. AI Traffic anzeigen etc.
____________________________________
Gruss Beat
Isra ist offline   Mit Zitat antworten
Alt 14.09.2006, 21:29   #4
harry3
Inventar
 
Registriert seit: 11.06.2001
Alter: 39
Beiträge: 2.397


harry3 eine Nachricht über ICQ schicken
Standard

Als Beispiel lass ich die Einerstelle der Variable (L:zahl, numbers) anzeigen:

PHP-Code:
//Einerstelle berechnen und in Variable (>L:einerstelle,numbers) speichern
<Element>
 <
Select>
  <
Value>
  (
L:Zahl,numbers10 % (>L:einerstellenumbers)
  </
Value>
 </
Select>
</
Element>

//Die Einerstelle einer ensprechenden Bitmap zuordnen und anzeigen lassen:

<Element>
 <
Select>

//als Wert wird die Einerstelle genommen:
  
<Value>
  (
L:einerstellenumers)
  </
Value>

//und nun gibts für jede Möglichkeit(0...9) einen Case:
  
<Case Value="0">
   <
Image Name="0.bmp"/>
  </Case>

  <Case 
Value="1">
   <
Image Name="1.bmp"/>
  </Case>

//usw...bis zur Ziffer 9.

 
</Select>
<
Element
Ich hoffe ich hab keine Fehler drinnen weil ich es jetzt direkt ins Forum geschrieben habe und nicht erst im FS ausprobiert habe.


Grüße,
Harri
harry3 ist offline   Mit Zitat antworten
Alt 15.09.2006, 19:15   #5
Isra
Senior Member
 
Registriert seit: 08.06.2004
Beiträge: 132


Isra eine Nachricht über Yahoo! schicken
Standard

Hallo Harri!
Bombensache, hat soweit tiptop geklappt! Momentan schaut die Sache so aus:

PHP-Code:


<Element
 <
Select
  <
Value
  (
L:Zahl,numbers10 % (>L:einerstellenumbers
  </
Value
 </
Select
</
Element



<
Element
<
Position X="100" Y="0"/>
 <
Select
  <
Value
  (
L:einerstellenumers
  </
Value

 
  <Case 
Value="0"
   <
Image Name="null.bmp"/> 
  </Case> 

  <Case 
Value="1"
   <
Image Name="eins.bmp"/> 
  </Case> 

  <Case 
Value="2"
   <
Image Name="zwei.bmp"/> 
  </Case>

  <Case 
Value="3"
   <
Image Name="drei.bmp"/> 
  </Case>

  <Case 
Value="4"
   <
Image Name="vier.bmp"/> 
  </Case>

  <Case 
Value="5"
   <
Image Name="fuenf.bmp"/> 
  </Case>

  <Case 
Value="6"
   <
Image Name="sechs.bmp"/> 
  </Case>

  <Case 
Value="7"
   <
Image Name="sieben.bmp"/> 
  </Case>

  <Case 
Value="8"
   <
Image Name="acht.bmp"/> 
  </Case>

  <Case 
Value="9"
   <
Image Name="neun.bmp"/> 
  </Case>

 </
Select
</
Element>

<
Element
 <
Select
  <
Value
  (
L:Zahl,numbers100 % (>L:zehnerstellenumbers
  </
Value
 </
Select
</
Element



<
Element
<
Position X="80" Y="0"/>
 <
Select
  <
Value
  (
L:zehnerstellenumers
  </
Value>

  <Case 
Value="0"
   <
Image Name="null.bmp"/> 
  </Case> 

  <Case 
Value="1"
   <
Image Name="eins.bmp"/> 
  </Case> 

  <Case 
Value="2"
   <
Image Name="zwei.bmp"/> 
  </Case>

  <Case 
Value="3"
   <
Image Name="drei.bmp"/> 
  </Case>

  <Case 
Value="4"
   <
Image Name="vier.bmp"/> 
  </Case>

  <Case 
Value="5"
   <
Image Name="fuenf.bmp"/> 
  </Case>

  <Case 
Value="6"
   <
Image Name="sechs.bmp"/> 
  </Case>

  <Case 
Value="7"
   <
Image Name="sieben.bmp"/> 
  </Case>

  <Case 
Value="8"
   <
Image Name="acht.bmp"/> 
  </Case>

  <Case 
Value="9"
   <
Image Name="neun.bmp"/> 
  </Case>

 </
Select
</
Element>


<
Element
 <
Select
  <
Value
  (
L:Zahl,numbers1000 % (>L:hunderterstellenumbers
  </
Value
 </
Select
</
Element



<
Element
<
Position X="60" Y="0"/>
 <
Select
  <
Value
  (
L:hunderterstellenumers
  </
Value>

  <Case 
Value="0"
   <
Image Name="null.bmp"/> 
  </Case> 

  <Case 
Value="1"
   <
Image Name="eins.bmp"/> 
  </Case> 

  <Case 
Value="2"
   <
Image Name="zwei.bmp"/> 
  </Case>

  <Case 
Value="3"
   <
Image Name="drei.bmp"/> 
  </Case>

  <Case 
Value="4"
   <
Image Name="vier.bmp"/> 
  </Case>

  <Case 
Value="5"
   <
Image Name="fuenf.bmp"/> 
  </Case>

  <Case 
Value="6"
   <
Image Name="sechs.bmp"/> 
  </Case>

  <Case 
Value="7"
   <
Image Name="sieben.bmp"/> 
  </Case>

  <Case 
Value="8"
   <
Image Name="acht.bmp"/> 
  </Case>

  <Case 
Value="9"
   <
Image Name="neun.bmp"/> 
  </Case>

 </
Select
</
Element>


<
Element
 <
Select
  <
Value
  (
L:Zahl,numbers10000 % (>L:tausenderstellenumbers
  </
Value
 </
Select
</
Element



<
Element
<
Position X="40" Y="0"/>
 <
Select
  <
Value
  (
L:tausenderstellenumers
  </
Value>

  <Case 
Value="0"
   <
Image Name="null.bmp"/> 
  </Case> 

  <Case 
Value="1"
   <
Image Name="eins.bmp"/> 
  </Case> 

  <Case 
Value="2"
   <
Image Name="zwei.bmp"/> 
  </Case>

  <Case 
Value="3"
   <
Image Name="drei.bmp"/> 
  </Case>

  <Case 
Value="4"
   <
Image Name="vier.bmp"/> 
  </Case>

  <Case 
Value="5"
   <
Image Name="fuenf.bmp"/> 
  </Case>

  <Case 
Value="6"
   <
Image Name="sechs.bmp"/> 
  </Case>

  <Case 
Value="7"
   <
Image Name="sieben.bmp"/> 
  </Case>

  <Case 
Value="8"
   <
Image Name="acht.bmp"/> 
  </Case>

  <Case 
Value="9"
   <
Image Name="neun.bmp"/> 
  </Case>

 </
Select
</
Element>

<
Element
 <
Select
  <
Value
  (
L:Zahl,numbers100000 % (>L:zehntausenderstellenumbers
  </
Value
 </
Select
</
Element



<
Element
<
Position X="20" Y="0"/>
 <
Select
  <
Value
  (
L:zehntausenderstellenumers
  </
Value>

  <Case 
Value="0"
   <
Image Name="null.bmp"/> 
  </Case> 

  <Case 
Value="1"
   <
Image Name="eins.bmp"/> 
  </Case> 

  <Case 
Value="2"
   <
Image Name="zwei.bmp"/> 
  </Case>

  <Case 
Value="3"
   <
Image Name="drei.bmp"/> 
  </Case>

  <Case 
Value="4"
   <
Image Name="vier.bmp"/> 
  </Case>

  <Case 
Value="5"
   <
Image Name="fuenf.bmp"/> 
  </Case>

  <Case 
Value="6"
   <
Image Name="sechs.bmp"/> 
  </Case>

  <Case 
Value="7"
   <
Image Name="sieben.bmp"/> 
  </Case>

  <Case 
Value="8"
   <
Image Name="acht.bmp"/> 
  </Case>

  <Case 
Value="9"
   <
Image Name="neun.bmp"/> 
  </Case>

 </
Select
</
Element
Ok, nun habe ich ja die nötigen 5 Stellen für die Latitude Anzeige.
Wie relate ich nun das Ganze zu (A:PLANE LATITUDE, degree latitude)?

Vielen Dank soweit mal für Deine Hilfe
____________________________________
Gruss Beat
Isra ist offline   Mit Zitat antworten
Alt 15.09.2006, 19:33   #6
harry3
Inventar
 
Registriert seit: 11.06.2001
Alter: 39
Beiträge: 2.397


harry3 eine Nachricht über ICQ schicken
Standard

Wie sieht den das Ausgabeformat von der Variablen aus?
Also steht da 32° 13' 32'' oder wird es als Dezimalzahl angegeben, z.B. 54,5465° oder ganz anders?

Grüße,
Harri
harry3 ist offline   Mit Zitat antworten
Alt 15.09.2006, 19:57   #7
Isra
Senior Member
 
Registriert seit: 08.06.2004
Beiträge: 132


Isra eine Nachricht über Yahoo! schicken
Standard

Hmm....also im Original schaut's so aus:

____________________________________
Gruss Beat
Isra ist offline   Mit Zitat antworten
Alt 15.09.2006, 20:09   #8
harry3
Inventar
 
Registriert seit: 11.06.2001
Alter: 39
Beiträge: 2.397


harry3 eine Nachricht über ICQ schicken
Standard

Ja aber es kommt ja drauf an was die Variable ausgibt. Schau dir das mal an.
Laut Bild sollte es in dem Format sein: die ersten beiden Ziffern sind Grad, der Rest dahinter die dazugehörigen Dezimalstellen.

mfg
harri
harry3 ist offline   Mit Zitat antworten
Alt 15.09.2006, 20:21   #9
Isra
Senior Member
 
Registriert seit: 08.06.2004
Beiträge: 132


Isra eine Nachricht über Yahoo! schicken
Standard

Ja das stimmt, die ersten 2 sind Grad, danach 3 Dezimalstellen
____________________________________
Gruss Beat
Isra ist offline   Mit Zitat antworten
Alt 15.09.2006, 20:40   #10
harry3
Inventar
 
Registriert seit: 11.06.2001
Alter: 39
Beiträge: 2.397


harry3 eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von Isra
Ja das stimmt, die ersten 2 sind Grad, danach 3 Dezimalstellen
Also auch bei der FS Varibale?

Wenn ja dann brauchst du die Zahl nur mit 1000 multiplizieren, damit du die Kommastellen wegbekommst. Der Rest ist dann ganz gleich wie oben beschrieben, du bekommst dann insgeamt 5 Ziffern.

Grüße,
Harri
harry3 ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist an.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:19 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag