Ich arbeite mit einem HTML
canvas
Element, versuchen, Formen mit Opazität in es zu zeichnen und sie dann auf der Grundlage ihrer Opazität zu kolorieren. Zum Beispiel könnte ich ein Quadrat mit rgba(0,0,0,.5)
und ein anderes mit rgba(100, 100, 100, .5)
überlappen. Meine Frage ist: Welchen Effekt hat Überschneidungen auf den alpha
Wert? Offensichtlich würde ein a:.5
auf einem a:.5
a:1
nicht produzieren ... gibt es eine Formel dafür? Wie funktioniert es?RGBA Pixel Addition Alpha-Wert in Canvas
0
A
Antwort
1
Alle Formeln, wie Alpha-Blending und Zusammensetzung Werke befinden sich in den Spezifikationen finden:
https://drafts.fxtf.org/compositing-1/#canvascompositingandblending
Alpha-Kanäle multipliziert werden (die Alpha-Blending-Formel in der Verbindung sehen), so dass sie nicht hinzufügen bis zu 1.
Ie (Quelle: ebenda):
co = Cs x αs + Cb x αb x (1 - αs)
Wo
co: the premultiplied pixel value after compositing
Cs: the color value of the source graphic element being composited
αs: the alpha value of the source graphic element being composited
Cb: the color value of the backdrop
αb: the alpha value of the backdrop
Verwandte Themen
- 1. Canvas bekommen nur opake Pixel
- 2. HTML5-Canvas-Pixel-Rendering beschleunigen
- 3. GWT/Pyjamas Canvas Pixel Manipulation
- 4. WPF Canvas - Single Pixel Grid
- 5. programmgesteuert RGBA-Werte in FillStyle in <canvas>?
- 6. Canvas: Zeichnen Bild Pixel für Pixel und requestAnimationFrame Timing
- 7. Android Canvas ändern einige Pixel Farbe
- 8. HTML5 Canvas - wie die Pixel zu vergrößern?
- 9. RGB in RGBA konvertieren
- 10. Canvas radialen Farbverlauf mit RGBA funktioniert nicht auf Safari & IE
- 11. Pixel pro Pixel Bild, transparent zu schwarz
- 12. Schleifen durch Pixel in einem Bild
- 13. Wie kann ich RGBA von jedem Pixel in einem Bitmap-Kontext iterieren?
- 14. Überprüfen Sie, ob Pixel schwarz auf HTML5 Canvas ist
- 15. erstellen WebGL Textur aus RGBA-Werten
- 16. Binäre Addition in Java
- 17. Addition nicht in Controller
- 18. rekursive Addition in Haskell
- 19. ChartJS Canvas zeigt keine RGBA Farben in IE, Safari und Firefox
- 20. Prolog Addition
- 21. rgba() funktioniert nicht in IE8
- 22. Convert HEX RGBA in Stylus
- 23. jQuery konvertieren hex in rgba
- 24. CSS rgba Transparenzfehler in Chrome?
- 25. RGB/RGBA-Farbwerte in Protractor
- 26. Canvas Bug in Chrome
- 27. CSS3 Radial Gradients mit RGBA()
- 28. Konvertieren von RGBA-Daten zwischen DXGI-Formaten
- 29. Pixel Manipulation mit FabricJS
- 30. Pixel-zu-Pixel-Transformation
Sind sie nicht einfach (inverser) multipliziert, so '0,5 × 0,5 = .25' und kombinierte Opazität wird' 1-. 25 = .75'? – myfunkyside
https://drafts.fxtf.org/compositing-1/#canvascompositingandblending – K3N
Das macht total Sinn, warum es mir nicht eingefallen ist ... Ich weiß es nicht – WookieCoder