anchor.diff:  
   constructor TGpGraphics.Create(Handle: HDC);
   var
  +  err: GpStatus;
  +begin
  +  inherited Create;
  +  err := GdipCreateFromHDC(Handle, fGraphics);
  +  if err <> 0 then
  +    raise EGDIPlus.CreateFmt('Can''t Create Graphics. GDI error %d', [err]);
  +end;
  +
  +constructor TGpGraphics.Create(Image: TGpImage);
  +var
     err: integer;
   begin
     inherited Create;
  -  err := GdipCreateFromHDC(Handle, fGraphics);
  +  err := GdipGetImageGraphicsContext(image.fHandle, fgraphics);
     if err <> 0 then
       raise EGDIPlus.CreateFmt('Can''t Create Graphics. GDI error %d', [err]);
   end;
   
  -constructor TGpGraphics.Create(Image: TGpImage);
  -var
  -  err: integer;
  -begin
  -  inherited Create;
  -  err := GdipGetImageGraphicsContext(image.fHandle, fgraphics);
  -  if err <> 0 then
  -    raise EGDIPlus.CreateFmt('Can''t Create Graphics. GDI error %d', [err]);
  -end;
  -
   destructor TGpGraphics.Destroy;
   begin
  -  if fGraphics <> 0 then
  +  if fGraphics <> nil then
       GdipDeleteGraphics(fGraphics);
     inherited;
   end;
  
positive.code:   UnitPixel = 2;
  begin
    GdipDrawImageRectRectI(fGraphics, Image.fHandle, dx, dy, dw, dh,
      sx, sy, sw, sh, UnitPixel, 0, nil, 0);
  
  end;
  
  
negative.code: type
    TGpImage = class(TObject)
    private
      fHandle: Pointer;
      fWidth, fHeight: integer;
      fFilename: string;
      function GetHeight: integer;
  