Пример #1
0
        internal static Image CreateImageObject(IntPtr nativeImage)
        {
            Image image;

            int type = -1;

            int status = SafeNativeMethods.Gdip.GdipGetImageType(new HandleRef(null, nativeImage), out type);

            if (status != SafeNativeMethods.Gdip.Ok)
            {
                throw SafeNativeMethods.Gdip.StatusException(status);
            }

            switch ((ImageTypeEnum)type)
            {
            case ImageTypeEnum.Bitmap:
                image = Bitmap.FromGDIplus(nativeImage);
                break;

            case ImageTypeEnum.Metafile:
                image = Metafile.FromGDIplus(nativeImage);
                break;

            default:
                throw new ArgumentException(SR.Format(SR.InvalidImage));
            }

            return(image);
        }
Пример #2
0
        internal static Image CreateImageObject(IntPtr nativeImage)
        {
            Gdip.CheckStatus(Gdip.GdipGetImageType(nativeImage, out int type));
            switch ((ImageType)type)
            {
            case ImageType.Bitmap:
                return(new Bitmap(nativeImage));

            case ImageType.Metafile:
                return(Metafile.FromGDIplus(nativeImage));

            default:
                throw new ArgumentException(SR.InvalidImage);
            }
        }
Пример #3
0
        internal static Image CreateImageObject(IntPtr nativeImage)
        {
            int type   = -1;
            int status = SafeNativeMethods.Gdip.GdipGetImageType(new HandleRef(null, nativeImage), out type);

            if (status != 0)
            {
                throw SafeNativeMethods.Gdip.StatusException(status);
            }
            switch (((ImageTypeEnum)type))
            {
            case ImageTypeEnum.Bitmap:
                return(Bitmap.FromGDIplus(nativeImage));

            case ImageTypeEnum.Metafile:
                return(Metafile.FromGDIplus(nativeImage));
            }
            throw new ArgumentException(System.Drawing.SR.GetString("InvalidImage"));
        }
Пример #4
0
        internal static Image CreateImageObject(IntPtr nativeImage)
        {
            Image image;

            Gdip.CheckStatus(Gdip.GdipGetImageType(new HandleRef(null, nativeImage), out int type));

            switch ((ImageType)type)
            {
            case ImageType.Bitmap:
                image = new Bitmap(nativeImage);
                break;

            case ImageType.Metafile:
                image = Metafile.FromGDIplus(nativeImage);
                break;

            default:
                throw new ArgumentException(SR.Format(SR.InvalidImage));
            }

            return(image);
        }