public static void SavePng(Image img, Stream stream, FreeImagePngQuality freeImagePngQualityType, bool bInterlaced)
        {
            using (FreeImageAPI.FreeImageBitmap fib = new FreeImageAPI.FreeImageBitmap(img))
            {
                FREE_IMAGE_SAVE_FLAGS pngQuality = FREE_IMAGE_SAVE_FLAGS.PNG_Z_DEFAULT_COMPRESSION;

                switch (freeImagePngQualityType)
                {
                case FreeImagePngQuality.PNG_Z_BEST_COMPRESSION:
                    pngQuality = FREE_IMAGE_SAVE_FLAGS.PNG_Z_BEST_COMPRESSION;
                    break;

                case FreeImagePngQuality.PNG_Z_BEST_SPEED:
                    pngQuality = FREE_IMAGE_SAVE_FLAGS.PNG_Z_BEST_SPEED;

                    break;

                case FreeImagePngQuality.PNG_Z_DEFAULT_COMPRESSION:
                    pngQuality = FREE_IMAGE_SAVE_FLAGS.PNG_Z_DEFAULT_COMPRESSION;
                    break;

                case FreeImagePngQuality.PNG_Z_NO_COMPRESSION:
                    pngQuality = FREE_IMAGE_SAVE_FLAGS.PNG_Z_NO_COMPRESSION;
                    break;
                }

                if (bInterlaced)
                {
                    pngQuality = FREE_IMAGE_SAVE_FLAGS.PNG_INTERLACED | pngQuality;
                }

                fib.Save(stream, FreeImageAPI.FREE_IMAGE_FORMAT.FIF_PNG, pngQuality);
            }
        }
        public static void SavePng(Image img, Stream stream, FreeImagePngQuality freeImagePngQualityType, bool bInterlaced)
        {
            using (FreeImageAPI.FreeImageBitmap fib = new FreeImageAPI.FreeImageBitmap(img))
            {
                FREE_IMAGE_SAVE_FLAGS pngQuality = FREE_IMAGE_SAVE_FLAGS.PNG_Z_DEFAULT_COMPRESSION;

                switch (freeImagePngQualityType)
                {
                    case FreeImagePngQuality.PNG_Z_BEST_COMPRESSION:
                        pngQuality = FREE_IMAGE_SAVE_FLAGS.PNG_Z_BEST_COMPRESSION;
                        break;
                    case FreeImagePngQuality.PNG_Z_BEST_SPEED:
                        pngQuality = FREE_IMAGE_SAVE_FLAGS.PNG_Z_BEST_SPEED;

                        break;
                    case FreeImagePngQuality.PNG_Z_DEFAULT_COMPRESSION:
                        pngQuality = FREE_IMAGE_SAVE_FLAGS.PNG_Z_DEFAULT_COMPRESSION;
                        break;
                    case FreeImagePngQuality.PNG_Z_NO_COMPRESSION:
                        pngQuality = FREE_IMAGE_SAVE_FLAGS.PNG_Z_NO_COMPRESSION;
                        break;
                }

                if (bInterlaced)
                    pngQuality = FREE_IMAGE_SAVE_FLAGS.PNG_INTERLACED | pngQuality;

                fib.Save(stream, FreeImageAPI.FREE_IMAGE_FORMAT.FIF_PNG, pngQuality);
            }
        }