Example #1
0
        internal static bool TryGetCompressImageType(string extension, out CompressImageType compressImageType)
        {
            compressImageType = CompressImageType.Invalid;

            if (string.IsNullOrWhiteSpace(extension))
            {
                return(false);
            }

            extension = extension.ToLowerInvariant();

            if (extension == ".jpg" || extension == ".jpeg")
            {
                compressImageType = CompressImageType.Jpeg;

                return(true);
            }

            if (extension == ".png")
            {
                compressImageType = CompressImageType.Png;

                return(true);
            }

            if (extension == ".gif")
            {
                compressImageType = CompressImageType.Gif;

                return(true);
            }

            return(false);
        }
Example #2
0
        internal static bool TryGetCompressImageType(string extension, out CompressImageType compressImageType)
        {
            foreach (CompressImageType type in Enum.GetValues(typeof(CompressImageType)))
            {
                if (!string.Equals(type.AsString(EnumFormat.Description), extension, StringComparison.OrdinalIgnoreCase))
                {
                    continue;
                }
                compressImageType = type;

                return(true);
            }

            compressImageType = CompressImageType.Invalid;

            return(false);
        }
Example #3
0
        /// <summary>
        ///     Min 0 - max 99
        /// </summary>
        /// <param name="compressImageType"></param>
        /// <returns></returns>
        internal static CompressAlgorithm GetCompressAlgorithm(CompressImageType compressImageType)
        {
            var compressAlgorithm = CompressAlgorithm.Jpeg;

            if (compressImageType == CompressImageType.Jpeg)
            {
                compressAlgorithm = CompressAlgorithm.Jpeg;
            }
            else if (compressImageType == CompressImageType.Png)
            {
                compressAlgorithm = CompressAlgorithm.Png;
            }
            else if (compressImageType == CompressImageType.Gif)
            {
                compressAlgorithm = CompressAlgorithm.Gif;
            }

            return(compressAlgorithm);
        }
Example #4
0
        internal static bool TryGetCompressImageType(MemoryStream imageStream, out CompressImageType compressImageType)
        {
            bool isValid = false;

            compressImageType = CompressImageType.Invalid;

            try
            {
                // Raster Image
                using (Image image = Image.FromStream(imageStream))
                {
                    isValid = true;

                    if (ImageFormat.Jpeg.Equals(image.RawFormat))
                    {
                        compressImageType = CompressImageType.Jpeg;
                    }
                    else if (ImageFormat.Png.Equals(image.RawFormat))
                    {
                        compressImageType = CompressImageType.Png;
                    }
                    else if (ImageFormat.Gif.Equals(image.RawFormat))
                    {
                        compressImageType = CompressImageType.Gif;
                    }
                    else
                    {
                        isValid = false;

                        compressImageType = CompressImageType.Invalid;
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }

            return(isValid);
        }
Example #5
0
        /// <summary>
        ///     Min 0 - max 99
        /// </summary>
        /// <param name="qualityPercent">   </param>
        /// <param name="compressImageType"></param>
        /// <returns></returns>
        internal static int GetQualityPercent(int qualityPercent, CompressImageType compressImageType)
        {
            qualityPercent = qualityPercent < 0 ? 0 : (qualityPercent > 99 ? 99 : qualityPercent);

            if (qualityPercent <= 0)
            {
                switch (compressImageType)
                {
                case CompressImageType.Png:
                    qualityPercent = CompressConstants.DefaultPngQualityPercent;
                    break;

                case CompressImageType.Jpeg:
                    qualityPercent = CompressConstants.DefaultJpegQualityPercent;
                    break;

                case CompressImageType.Gif:
                    qualityPercent = CompressConstants.DefaultGifQualityPercent;
                    break;
                }
            }
            return(qualityPercent);
        }