public object Clone()
        {
            if (GDIPlus.RunningOnWindows() && stream != null)
            {
                return(CloneFromStream());
            }

            IntPtr newimage = IntPtr.Zero;
            Status status   = GDIPlus.GdipCloneImage(NativeObject, out newimage);

            GDIPlus.CheckStatus(status);

            if (this is Bitmap)
            {
                return(new Bitmap(newimage));
            }
            else
            {
                return(new Metafile(newimage));
            }
        }