.. mach aus Deinem alpha: Integer mal ein alpha: Byte
Delphi-Quellcode:
0: begin
d := fade * 255;
// nur für Tests
//d := round((random(10) /10)) *255;
for y:= 0 to h do
for x := 0 to w do
begin
alpha := ((imgSpectrum[x,y] and $FF000000) shr 24) and $FF;
alpha := alpha - d;
// Byte kann nicht < 0 sein
// if alpha < 0 then
// alpha := 0;
c := imgSpectrum[x,y] and $FFFFFF;
if alpha > 127 then
imgSpectrum[x,y] := c or ((alpha -256) shl 24)
else
imgSpectrum[x,y] := c or (alpha shl 24);
end;
rot, grün und blau können auch vom Type Byte sein.
Grüße
Klaus
Ja das funktioniert..
Aber was ist nun mit
imgSpectrum[x,y] := c or (alpha shl 24);
Denn wenn du Byte nimmst und Fade ist unter 0.5 dann wird diese nicht mehr aufgerufen muss sie aber.
Das sind die Probleme mit denen ich mich rumschlage.
Aber es scheint ja Profis zu geben die das angeblich können nur gesehen habe ich davon noch nichts.
Können einen nur niedermachen. Grrr..
EDIT:
Hab noch nen Shot angehängt.
Du siehst VB ruft auch diese auf.. bei Fade 0,25 bei dir jedoch nie.
gruss