Einzelnen Beitrag anzeigen

Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Semitransparentes Zeichnen mit GDI+ ohne Wissen um Hintergrund?

  Alt 28. Nov 2013, 15:35
Was du suchst, ist wahrscheinlich Premultiplied Alpha (ruhig auch nochmal bei Google eingeben, aber dieser Blog-Post war es bei mir, der für Erleuchtung gesorgt hat. Da ist auch noch ein PDF verlinkt, dass das Konzept genauer erläutert).

In Kurzform: Das "Standard-Blending" à la foreground*a + background*(1-a) funktioniert schlicht nicht mit (teil-)transparenten Hintergründen – das war für mich auch eine schmerzhafte Erfahrung.

Es gibt zwar eine andere Formel (verwendet Graphics32 z.B. auf Wunsch), die die Hintergrundtransparenz auch mit einbezieht, die ist aber kompliziert und langsam und funktioniert ohne fürchterliche Verrenkungen vor allem nicht auf Grafikkarten (das war bei mir der Knackpunkt, bei dir vielleicht nicht so das Problem). Premultiplied Alpha ist meiner Meinung nach ein besseres Konzept, schon allein, weil es physikalisch viel mehr Sinn ergibt.

Ob/wie Premultiplied Alpha mit GDI+ geht, weiß ich aber nicht.
  Mit Zitat antworten Zitat