tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
636
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    MyersGer MyersGer ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Beiträge
    41
    Ich habe eine XML-Datei in der verschiedene Gebiete (eine Landkarte) beschrieben sind. So auch der "Besitzer".
    Jeder "Besitzer" hat eine eigene Farbe.
    Ich habe eine Vorlage als PSD mit verschiedenen Ebenen (eine Ebene pro Land).
    Wie kann ich das Umfärben beim Besitzwechsel automatisieren?

    Ich möchte nämlich nicht den kompliziertesten Weg nehmen

    Dass ich das PSD nicht bearbeiten kann oder will, ist schon klar.
    Soll ich jede ebene einmal in jeder Farbe abspeichern und dann nachher zu einem Gesamtbild zusammenfassen? Bisschen viel Aufwand und vor allem nicht grade klein.

    Soll ich das per DX machen und dann zu einer PictureBox rendern lassen oder ist GDI+ besser dafür geeignet?


    Ich hoffe mal, man versteht worum es geht und was ich vorhabe
     

  2. #2
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Hallo.

    Das einfachste und das schnellste dürfte sein, wenn du die verschiedenen Teile in den verschiedenen Farben speicherst und dann je nach bedarf das Bild zusammen stückelst.
    Du könntest zwar auch mittels GDI+ umfärben, aber das ist ziemlich Zeitintensiv (ausser du machst es mit unsafe Code und arbeitest direkt über Pointer mit dem Bild im Speicher)

    Wird es ein "Risiko"?

    Wenn du weisst wie es mit DX geht, und es nicht zuviel Aufwand ist, kannst es natürlich auch damit probieren.
    Solltest den GDI+ - Weg wählen, solltest du dir die Methoden SetPixel und GetPixel der Graphics-Klasse ansehen.

    Mfg,
    Alex
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

  3. #3
    MyersGer MyersGer ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Beiträge
    41
    Sagen wir so: Es IST ein "Risiko"

    Hm HP-Werbung will ich hier ja nicht machen aber: HP

    Das läuft schon seit nem halben Jahr und bisher auch ganz gut mit der Karte. Allerdings hab ich nun Zeit den Teil mit der Karte in Programmcode umzusetzen. Vorher hatte ich eben auch noch andere Sachen zu tun
    Und weil das ganze nun in mehrere Sparten geteilt wird, lohnt es sich auch das zu machen

    Wenn ich das in GDI+ machen würde ist die frage, ob die Karte auch so schön aussehen würde. Aber da ich nicht unsafe-code verwenden willm scheidet der Weg dann wohl aus.
    Zusammenpuzzlen ist ja auch nicht so gaaanz einfach. ich hätte dann 285 länder * 15 (max. Spieleranzahl) und eine "Schablone".
    Schablone = 1 Ebene mit Rändern und Gewässern usw. und dann eine Ebene mit zusammengesetzten Ländern. Wie bekomme ich es dann hin, dass die Ebenen (inkl. der Transparenz - die Lücken für die Länder) übereinander gelegt werden?

    Hm ich muss mal lesen, wies da mit DX steht.
     

  4. #4
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Gut, bei der Anzahl von Ländern ist es schon etwas aufwändig jedes Land in den verschiedenen Farben als Datei zu speichern, und das dann zsuammen zu stückeln.

    Code :
    1
    2
    
    Wenn ich das in GDI+ machen würde ist die frage, ob die Karte auch so schön aussehen würde.
    Aber da ich nicht unsafe-code verwenden willm scheidet der Weg dann wohl aus.

    Da hast du mich wohl falsch verstanden, (oder ich hab mich blöd ausgedrückt).
    Du kannst es schon in GDI+ machen, bei einfachen Farben dürfts auch nicht so schlecht aussehen, allerdings ist es langsam wenn du mit GDI+ jeden Pixel durchgehst.

    Schneller wäre es mit unsafe Code bei dem du direkt auf die Daten zugreifen kannst.
    Geändert von Alexander Schuc (29.02.04 um 15:18 Uhr)
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

  5. #5
    MyersGer MyersGer ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Beiträge
    41
    Hm. Am Liebsten wäre mir natürlich ein fertiges Bild zu genererieren dann abzuspeichern und dann wie bisher anzeigen zu lassen. Dann müsst ich die ToolTips nicht in die Anzeige umsetzen.
    Na ja man kann nicht alles haben

    Wegen dem GDI+: Wenn ich die Bereiche füllen würde, bräuchte ich doch eine "saubere" Farbe oder? Im Moment sind ja weiche Übergänge durch einen leichten schwarzen Schatten recht schön gehalten Nur bekommt man dadurch ja bsplw. ein "schmutziges" grün an den Rändern.

    Sollte ich dann die Ebene mit den Schatten extra nehmen, die Ebene mit den Ländern "aufbereiten" lassen und diese dann zu einem Bild machen lassen?!

    Extrem kompliziert Aber was ist schon einfach?!


    p.s.: Mit DX würde ich ja auch jedes Land extra brauchen in jeder Farbe?! Jeden falls nach meinen bisherigen DX Kenntnissen bräuchte ich das
    Geändert von MyersGer (29.02.04 um 15:45 Uhr)
     

  6. #6
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    So, habe schnell ein kleines Programm geschrieben. Es soll verdeutlichen wie du grundsätzlich mit GDI die Farbenersetzen könntest, aber auch wie langsam dieser Vorgang ist.

    Das Programm könnte man noch so ausweiten, das die neue Farbe die Schattierung der alten farbe übernimmt, da müsste man halt ein wenig Rechnen.

    Wie das mit DX aussieht, kann ich dir leider nicht sagen, da ich mich damit zuwenig beschäftigt habe.

    Screenshot:
    http://pub.crazy-weasel.com/stuff/ImgReplacer.jpg

    (Im angehängten Paket ist das Programm und der Sourcecode)
    Angehängte Dateien Angehängte Dateien
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

  7. #7
    MyersGer MyersGer ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Beiträge
    41
    Danke, für das Codebeispiel!

    Ich seh, worauf du hinaus willst

    Ohne Unsafe-Coding wirds da recht lahm werden. Ich habe bei codeproject.net ein ähnliches Beispiel MIT Unsafe-Code entdeckt und ich muss sagen: da gibts doch nen netten Geschwindigkeitsunterschied

    Muss ich das wohl unsafe machen. Mal sehen wie ich das dann mit dem Schatten hinbekomme.
     

  8. #8
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Ich habe das Programm nun erweitert, es benutzt zwar weiterhin managed Code, jedoch berücksichtigt die jetzige Version die Schattierung.

    // Edit: Ich hoffe du hast herausgefunden, dass wenn man auf das Kästchen mit der neue Farbe klickt, auch eine neue Farbe wählen kann.
    Angehängte Dateien Angehängte Dateien
    Geändert von Alexander Schuc (29.02.04 um 18:43 Uhr)
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

  9. #9
    MyersGer MyersGer ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Beiträge
    41
    Dank dir nochmal.

    Ich werde jetzt versuchen die Felder mit dem Unsafe-Code, wie auf codeproject.net einzufärben und dann danach die Ebene mit Schrift, Gewässern und Schatten darüber legen.

    Mal sehen ob ich das hinbekomme. Erstmal brauch die PSD um die Ebenen einzeln zu speichern (muss ich mal warten bis der mit der Karte wieder online ist)

    Ich meld mich wieder


    P.S.: Das mit der Farbe war klar klickt man ja intuitiv drauf
     

  10. #10
    MyersGer MyersGer ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Beiträge
    41
    Danke nochmal.
    Hatte mich ja nun für die GDI+ Variante entschieden und es dann mit Pointern gemacht.

    Hab gestern dann auch endlich mal die PSD Datei bekommen
    Dann hab ich ein "Template" draus gemacht und die Schatten werden dann drüber gelegt. (allerdings nicht automatisch, weil jpeg keine Transparenz hat und gif einfach nur sche*sse aussieht )

    So siehts dann fertig aus

    Kaum n Unterschied zur manuell erstellten Karte, nur dass ich jetzt keine 20MB große Datei in Photoshop öffnen und ewig suchen und klicken muss
     

Ähnliche Themen

  1. flexibles Layout
    Von Precog im Forum CSS
    Antworten: 4
    Letzter Beitrag: 11.10.09, 20:01
  2. Flexibles Table Component
    Von DarthShader im Forum Java
    Antworten: 2
    Letzter Beitrag: 03.04.07, 09:43
  3. gd-jpeg Problem (not a valid jpeg file)
    Von rapier im Forum PHP
    Antworten: 1
    Letzter Beitrag: 29.10.04, 18:58
  4. Flexibles Popup
    Von Moritz123 im Forum Javascript & Ajax
    Antworten: 20
    Letzter Beitrag: 10.04.03, 19:03
  5. flexibles menu mit js für ie
    Von xclaudiox im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 23.05.01, 01:44