Klein Korrektur.. danke Michael II für die Berichtigung.
Delphi-Quellcode:
procedure TSpectrum.CheckEffects;
case 1
//...
Color := blue or (green shl 8) or (red shl 16);
DWORD(Pixel) := Color or (Pixel.rgbReserved shl 24);
// SKAERO_SplitColorARGB((Color or (Pixel.rgbReserved shl 24)), _alpha, _red, _green, _blue);
//
// Pixel.rgbBlue := _blue;
// Pixel.rgbGreen := _green;
// Pixel.rgbRed := _red;
// Pixel.rgbReserved := _alpha;
RGBQuad^ := Pixel;
inc(RGBQuad);
case 2
//...
Color := Buf[dx, dy] and $FFFFFF;
DWORD(Pixel) := Color or (Pixel.rgbReserved shl 24);
// SKAERO_SplitColorARGB((Pixel.rgbReserved shl 24) or Color, _alpha, _red, _green, _blue);
//
// Pixel.rgbBlue := _blue;
// Pixel.rgbGreen := _green;
// Pixel.rgbRed := _red;
// Pixel.rgbReserved := _alpha;
RGBQuad^ := Pixel;
inc(RGBQuad);
Die variablen
_alpha, _red, _green, _blue: Byte;
werden dann nicht mehr benötigt.
gruss