Einzelnen Beitrag anzeigen

Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Semitransparente Fenster mittels (Update-)LayeredWindow

  Alt 29. Okt 2010, 12:40
Erstmal Danke für deine Antwort und deine Bemühungen Tatsächlich funktioniert das in diesem Beispiel perfekt, also wenn ich einen Farbverlauf habe (verstehe aber ehrlich gesagt nicht, warum es dann funktioniert, denn nach meinem Verständnis müsste die rote Fläche mit meinem ursprünglichen Code trotzdem ausfaden, da der Alpha-Wert ja irgendwann 0 wird ).
Das mit dem roten Farbverlauf war jedoch nur ein kleiner Test, denn eigentlich will ich später alphatransparente Grafiken darstellen können. Hab jetzt deshalb mal meine Zeichen-Routine zum Testen angepasst:

Delphi-Quellcode:
     for y := 0 to 255 do
     begin
          pBMP := bgBMP.ScanLine[y];
          //
          for x := 0 to 255 do
          begin
               pBMP[x].rgbRed := 0;
               pBMP[x].rgbGreen := 255-y;
               pBMP[x].rgbBlue := 0;
               //
               if (y > 100) and (y < 200) then pBMP[x].rgbReserved := 0
               else pBMP[x].rgbReserved := 255-y;
          end;
     end;
Dann ergibt sich (logischerweise) wieder das ursprüngliche Problem (siehe Bild im Anhang). An was kann denn das liegen? Kann es sein, dass ich die Arbeitsweise von UpdateLayeredWindow falsch verstehe?
Miniaturansicht angehängter Grafiken
falsch2.jpg  
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat