Hallo,
was ich zu nächtlicher Stunde sagte war falsch, die Prozedur sieht so aus:
Code: Alles auswählen
function ColorToIBL(cl:TColor; Tranparency: Boolean):word;
var red, green, blue: Integer;
begin
red := cl and $000000FF;
green := (cl and $0000FF00) shr 8;
blue := (cl and $00FF0000) shr 16;
blue := blue shr 3;
green := green shr 3;
red := red shr 3;
if (red=0) and (blue=0) and (green=0) and Tranparency
then result := $0000 + (red shl 10) + (green shl 5) + blue
else result := $8000 + (red shl 10) + (green shl 5) + blue;
end;
Das würde bedeutet, dass ab dem Wert 8 keine Transparenz mehr erzeugt wird. Wenn du die Box "Set Transperency" auf "off" stellst, sollte es aber auch keine Transparenz geben.
Ursprünglich wollte ich nur den RGB-Wert (0,0,0) transparent machen.
Wandelt man aber ein IBL wieder zurück in BMP und macht dann wieder ein IBL daraus,dann wird ein RGB-Wert(1,1,1) plötzlich zu RGB(0,0,0) und wird dann plötzlich transparent, was er vorher nicht war.
Gruß,
Happy