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); }
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); }
/// <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); }
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); }
/// <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); }