anchor.diff:    UnitPixel = 2;
   begin
     GdipDrawImageRectRectI(fGraphics, Image.fHandle, dx, dy, dw, dh,
  -    sx, sy, sw, sh, UnitPixel, 0, nil, 0);
  +    sx, sy, sw, sh, UnitPixel, nil, nil, 0);
   
   end;
   
  
positive.code: 
  var
  {$IFNDEF NoGDIPlus}
    GdiplusStartup: function(var Token: DWord; const Input, Output: Pointer): Integer; stdcall;
    GdiplusShutdown: procedure(Token: DWord); stdcall;
    GdipDrawImageI: function(Graphics, Image, X, Y: Integer): Integer; stdcall;
    GdipCreateHBITMAPFromBitmap: function(bitmap: integer; out hbmReturn: HBITMAP;
      background: DWord): integer; stdcall;
    GdipGetInterpolationMode: function(graphics: integer; var interpolationMode: integer): integer; stdcall;
  {$ENDIF$}
    GdipDeleteGraphics: function(Graphics: Integer): Integer; stdcall;
    GdipCreateFromHDC: function(hdc: HDC; var Graphics: Integer): Integer; stdcall;
    GdipDrawImageRectI: function(Graphics, Image, X, Y, Width, Height: Integer): Integer; stdcall;
    GdipLoadImageFromFile: function(const FileName: PWideChar; var Image: Integer): Integer; stdcall;
    GdipLoadImageFromStream: function(stream: ISTREAM;
      out image: integer): integer; stdcall;
    GdipCreateBitmapFromStream: function(stream: ISTREAM; out bitmap: integer): integer; stdcall;
    GdipDisposeImage: function(Image: Integer): Integer; stdcall;
    GdipGetImageWidth: function(Image: Integer; var Width: Integer): Integer; stdcall;
  
    GdipGetImageHeight: function(Image: Integer; var Height: Integer): Integer; stdcall;
    GdipGetImageGraphicsContext: function(Image: integer; out graphics: integer): integer; stdcall;
    GdipGraphicsClear: function(Graphics: Integer; Color: Cardinal): Integer; stdcall;
    GdipCreateBitmapFromScan0: function(width: Integer; height: Integer;
      stride: Integer; pixelformat: dword; scan0: Pointer;
      out bitmap: integer): integer; stdcall;
    GdipDrawImagePointRect: function(graphics: integer; image: integer;
      x: Single; y: Single; srcx: Single; srcy: Single; srcwidth: Single;
      srcheight: Single; srcUnit: integer): integer; stdcall;
    GdipScaleWorldTransform: function(graphics: integer; sx: Single; sy: Single;
      order: integer): integer; stdcall;
    GdipCreateBitmapFromGraphics: function(width, height: Integer;
      Graphics: integer; out Bitmap: integer): integer; stdcall;
    GdipBitmapGetPixel: function(bitmap, x, y: Integer; out color: DWord): integer; stdcall;
    GdipDrawImageRectRectI: function(graphics, image,
      dstx, dsty, dstwidth, dstheight, srcx, srcy, srcwidth, srcheight,
      srcUnit, imageAttributes: integer;
      callback: Pointer; callbackData: integer): integer; stdcall;
  
    GdipSetInterpolationMode: function(graphics, interpolationMode: integer): integer; stdcall;
    GdipBitmapSetPixel: function(bitmap, x, y: Integer; color: DWord): Integer; stdcall;
  
  type
    TGDIStartup = packed record
      Version: Integer; // Must be one
      DebugEventCallback: Pointer; // Only for debug builds
      SuppressBackgroundThread: Bool; // True if replacing GDI+ background processing
      SuppressExternalCodecs: Bool; // True if only using internal codecs
    end;
  
  var
    Err: Integer;
  
  //-- BG ---------------------------------------------------------- 01.04.2012 --
  function IStreamFromStream(Stream: TStream): IStream;
  
negative.code:       @GdipBitmapSetPixel := GetProcAddress(LibHandle, 'GdipBitmapSetPixel');
  
        FillChar(Startup, sizeof(Startup), 0);
        Startup.GdiplusVersion := 1;
        Err := GdiPlusStartup(InitToken, @Startup, nil);
        GDIPlusActive := Err = 0;
        if not GDIPlusActive then
  