public void RecolourImage(bool startAgain) { this.Cursor = Cursors.WaitCursor; ImagingTool tool; if (mRecolouredImage == null || startAgain) { CreateNewColourMap(); tool = new ImagingTool(mResizedImage, ColourMap); //tool.ReduceColourDepth(); tool.ReduceColourDepth(ColourMap); mRecolouredImage = tool.OutputImage; } else { tool = new ImagingTool(mRecolouredImage, ColourMap); tool.ReduceColourDepth((int)maxColoursUpDown.Value); mRecolouredImage = tool.OutputImage; } //UpdateColourMap(); this.Cursor = Cursors.Default; RedrawTab2Images(); }