surface_save - Bild teilweise transparent obwohls eigentlich nicht so sein sollte!?

  • Allgemein

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • surface_save - Bild teilweise transparent obwohls eigentlich nicht so sein sollte!?

    Hilfe,
    ich möchte eine surface als .png bild abspeichern, mithilfe von surface_save.
    Das funktioniert, aaaber teilweise ist das Bild an stellen transparent!
    Undzwar immer da wo ich einen alphawert != 0 zum drawn benutze. Ich zeichne z.b. ein rectangle oder so mit alpha 1 und dadrüber ein kreis mit alphawert 0.3 und anderer farbe.
    Alles sieht super aus. Dann speicher ich das ab und schau mir das bild an, und siehe da:
    Alle Pixel die den Kreis darstellen haben plötzlich nur noch einen alphawert von 30% oder so! Anstatt die kombinierte Farbe aus dem Rectangle und dem Kreis und einem Alphawert von 1.

    Was ist da los, und wie behebe ich das? Ist super wichtig.

    -Pac
    Sorm ist Schuld

    Edit: Doch ist er
  • Das liegt daran, dass bei der Standard Farbkomposition die Alphawerte "falsch" berechnet werden (siehe Vormultiplizierte Transparenz).

    Du solltest das einfach umgehen können, indem du mit

    GML-Quellcode

    1. draw_set_color_write_enable(true, true, true, false);

    das Beschreiben des Alphakanals deaktivierst (sofern du die Transparenz nicht brauchst).

    - Joex3
  • Danke schonmal, aber wenn ich das im create event aufrufe kann ich die surface irgendwie nich mehr drawn, jedenfalls seh ich sie nich.
    Hab ich was falsch gemacht?^^


    Edit: Ok, also ich deaktivier jetz einfach den alphakanal bevor ich was auf der surface drawe, danach aktivier ich ihn wieder.
    Jetzt funktioniert alles.
    Danke
    Sorm ist Schuld

    Edit: Doch ist er

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Pacmangamer ()