anchor.diff:    SrcColors,
       DstColors: WORD;
   
  +  procedure ByteSwapColors(var Colors; Count: Integer);
  +  // convert RGB to BGR and vice-versa.  TRGBQuad <-> TPaletteEntry
  +{$IFDEF WIN32}
     // From Delphi 3.02 graphics.pas
     // There is a bug in the ByteSwapColors from Delphi 3.0
  -
  -  procedure ByteSwapColors(var Colors; Count: Integer);
  -  {$IFDEF WIN32}
  -  var // convert RGB to BGR and vice-versa.  TRGBQuad <-> TPaletteEntry
  +  var
       SysInfo: TSystemInfo;
     begin
       GetSystemInfo(SysInfo);
  
positive.code:       Inc(I);
        Inc(C);
      end;
      {$ENDIF}
    end;
  {$ENDIF}
  begin
  {$IFDEF PIXELFORMAT_TOO_SLOW}
    if (FBitmap.Handle = 0) then
  
negative.code:       Row := biHeight - Row - 1;
      Result := PByte(Cardinal(FDIBBits) + Cardinal(Row) * AlignBit(biWidth, biBitCount, 32));
    end;
  {$ELSE PIXELFORMAT_TOO_SLOW}
  {$ifdef LCL}
    Result := nil;  // ToDo: Find replacement of FBitmap.ScanLine for LCL
  {$else LCL}
    Result := FBitmap.ScanLine[Row];
  {$endif LCL}
  {$ENDIF PIXELFORMAT_TOO_SLOW}
  end;
  
  procedure TDIBWriter.CreateDIB;
  