Ich würde die Hilfe von Ihnen Low-Level-Programmierer schätzen ... Mein Problem ist das: Ich möchte eine Bitmap des Formats ARGB8888 direkt in den Videospeicher drucken. Die Form der Bitmap ist in Ordnung, das Problem ist der Alpha-Kanal, den ich nicht verstehen kann. Ich habe Code in wikipedia gesehen, dass die Pixel wie diese Overlays:Wie behandelt man Alpha-Transparenz von PNG direkt im Speicher?
CompositedPixelColor = Alpha * ForegroundPixelColor + (1 - Alpha) * BackgroundPixelColor
Wenn eine Farbe von 0 variiert - 1. Diese für jeden Kanal RG B. erfolgt Was ich tue, ist jedes Byte kopieren für jede Farbe jedes Pixels meiner Bitmap direkt in den Videospeicher mit der obigen Formel, aber ich vermisse etwas, weil die Farben nicht in Ordnung sind.
Ich versuche, so etwas wie der Code in diesem Thread zu tun: http://www.badadev.com/create-a-photo-editing-app/ Aber hier sind sie nicht behandeln, Transparenz, und das ist mein Problem. Danke!
Oh, danke für den Tipp. Ich habe das Problem jedoch herausgefunden. Der RGBA-Wert wird im ABGR-Format gespeichert. Aber Ihr Code erinnert mich an etwas, das die Berechnungen verbessern sollte: >> 8 Thx eine Menge – HugoFS