Ergebnis 1 bis 20 von 98

Thema: [DynRPG] RPGSS

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Doch, die transparente Farbe wird in der jeweiligen Datei gespeichert. Transparent ist immer der Farbeintrag an Palettenindex 0. Beim Importieren tauscht der Maker lediglich die Einträge entsprechend aus.

    Ein paar Bilder zur Verdeutlichung:

    Testbild und dazugehörige Palette:



    Beim Importieren habe ich dann das Gelb oben rechts als Transparenzfarbe gesetzt und der Maker hat die Palette ensprechend umgeändert (und auf 256 Einträge erweitert):



    Edit: Verdammt Corti, nachdem ich so viele schöne Bilder gemacht habe D:

  2. #2
    Stimmt, in der DynRPG-Referenz zu Image::useMaskColor steht auch etwas, woraus man das ableiten kann:
    Zitat Zitat
    If true, color 0 will be used as transparent color.
    Danke! Jetzt muss ich mir nur überlegen (bzw. testen), wie man sinnvoll eine Farbe übergeben kann, da das Problem, dass die Farben nach dem Quantisieren möglicherweise nicht mehr die gleichen sein könnten, immernoch besteht. :/

  3. #3
    Zum Beispiel zuerst eine Maske anlegen die besagt wo überall diese Farbe vorkommt, dann auf 255 Farben quantisieren, dann die 256. Farbe (#0) explizit für die Transparenz nutzen (anhand der Maske die Pixel auf die #0 Farbe setzen und ihr als Paletteneintrag den originalen Farbcode geben).

    Vielleicht geht das aber auch einfacher, hängt von deiner Library ab...

  4. #4
    Gute Idee, danke! Wobei extra eine Maske anlegen nicht nötig ist, da das Ursprungsbild bereits die notwendigen Informationen hat, d.h. einfach das Ursprungsbild durchlaufen und im quantisierten Bild überall dort die Pixel auf Index 0 setzen, wo im Ursprungsbild die Transparenzfarbe vorkommt. Das einzige Problem dabei ist, dass ich auf 255 Farben statt auf 256 reduzieren müsste und das ist in der momentanen Schnittstelle meiner Image-Bibliothek nicht vorgesehen, um die Komplexität gering zu halten. Der Quantisierungsprozess selbst würde auch mit einem Farbenlimit != 256 funktionieren. In meiner momentanen Lösung gehe ich einfach die resultierende Palette durch und wenn ich auf die Transparenzfarbe stoße (und diese sich nicht bereits auf Index 0 befindet) schiebe ich diese (mit allen dazugehörenden Änderungen im Pixelbuffer) auf Index 0. Das funktioniert auch recht gut soweit ich das getestet habe, vermutlich aber auch nur solange die Transparenzfarbe sich deutlich von den anderen Farben unterscheidet, d.h. der Abstand im Farbraum zu den anderen Farben groß genug ist (in dem Fall wird die Farbe nämlich als ein eigener Cluster angesehen und nicht mit anderen Farben vermischt). Ich behalte mal deine Idee im Hinterkopf. Danke nochmal.

  5. #5
    Kurze Frage:

    Was zwingt dich, die Farbpalette für einzelne Bilddateien bei 8bit zu belassen? Angesichts der Tatsache, dass der Buffer des 2k(3) nativ insgesamt 15bit Farbtiefe zulässt und DynRPGSS ja scheinbar mit eigenen Buffern und anderem Grafik-Gedings arbeitet.

    Edit:
    Meinte das eher bezogen auf die Transparenzvergabe. Meine Frage hat sich damit eh erledigt.

    Geändert von bugmenot (11.06.2014 um 19:14 Uhr)

  6. #6
    Das ist nur ein kleines Feature für die, die es brauchen (also RPGSS-Images als 8-Bit-Bilder speichern zu können, die sonst immer als 24-Bit-Bilder plus Alphakanal gespeichert werden). Nützlich z.B. wenn man im Maker importierte Grafiken wie etwa Hintergrundbilder manipulieren will. In dem Fall muss nämlich das ersetzende Bild in 8-Bit sein, sonst kann der Maker die Datei nicht laden. ;)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •