protected override void Dispose(bool disposing)
 {
     if (disposing)
     {
         if (disposeContext && graphicsContext != null)
         {
             graphicsContext.FlushGraphics();
         }
         Reset();
         if (disposeContext && graphicsContext != null)
         {
             graphicsContext.Dispose();
         }
         CopyToOriginalImage();
         if (DrawingImage != null)
         {
             DrawingImage.Dispose();
             DrawingImage = null;
         }
     }
     base.Dispose(disposing);
 }