anchor.diff:    FImage := LoadImage_BMP(FImageFilename);
     if FTransparent then
     begin
  -    FImage.CreateMaskFromSample(0, 0);
  +    FImage.CreateMaskFromSample(AMaskSample.X, AMaskSample.Y);
       FImage.UpdateImage;
     end;
     RecalcImageWidth;
     Repaint;
   end;
   
  -procedure TfpgBaseImgAnim.ImageFromByteArray(ABmp: Pointer; ASize: longword;
  -  AMaskSample: TPoint);
  +procedure TfpgBaseImgAnim.ImageFromByteArray(ABmp: Pointer; ASize: longword);
  +begin
  +  ImageFromByteArray(ABmp, ASize, Point(0,0));
  +end;
  +
  +procedure TfpgBaseImgAnim.ImageFromByteArray(ABmp: Pointer; ASize: longword; AMaskSample: TPoint);
   begin
     if ABmp=nil then
       Exit;
  
positive.code:   public
      constructor Create(AOwner: TComponent); override;
      destructor  Destroy; override;
  
      procedure   ImageFromByteArray(ABmp: Pointer; ASize: longword; AMaskSample: TPoint);
    end;
  
  
  
negative.code: 
  procedure TfpgBaseImgAnim.SetImageFilename(const AValue: TfpgString);
  begin
    SetImageFilename(AValue, Point(0,0));
  end;
  
  procedure TfpgBaseImgAnim.SetImageFilename(const AValue: TfpgString; AMaskSample: TPoint);
  begin
    if FImageFilename = AValue then
      Exit; //==>
  
  