Hi!
Ich arbeite momentan mit 32bit Bitmaps die einen Alpha Channel haben. Nun hab ich leider das Problem, wenn ich mit den
Standart TCanvas Zeichenoperationen zeichne (TextRect, Ellipse, FrameRect etc.), dann ist der Alpha Wert an den Stellen wo gezeichnet wurde grundsätzlich 0. Sprich wenn ich dann die Bitmap weiterbenutze um sie per AlphaBlendung woanders drauf zu zeichnen, sind diese Stellen grundsätzlich durchsichtig.
Ich hab schon probiert bei TColor das höchstwertige Byte dem Alpha Wert zuzuweisen, aber das höchstwertige Byte bei TColor ist ja leider für solche Sachen wie Paletten Optionen reserviert.
Nun ist die Frage wie ich das umgehen kann, das diese Stellen mir immer durchsichtig werden. Das Bitmap wo ich drauf zeichne kopieren und dann die alten Alphawerte gegenchecken bringt nichts, da ich auch an Stellen zeichnen möchte wo im original Bitmap schon der Alpha Wert 0 ist. Und die kompletten Proceduren selbst zu schreiben wird wohl oder übel ziemlich lange dauern und auch ziemlich langsam sein.
Habt ihr ne Ahnung was man da machen könnte ? Ich wollt eigentlich nur im extremen Notfall auf externe Units zugreifen.
Schon mal vielen Dank.
- Thebe