// -------------------------------------------------------------------------------------------------------------------- // // Copyright (c) James South. // Licensed under the Apache License, Version 2.0. // // // Encapsulates useful image utility methods. // // -------------------------------------------------------------------------------------------------------------------- namespace ImageProcessor.Imaging { #region Using using System.Drawing; using System.Drawing.Imaging; #endregion /// /// Encapsulates useful image utility methods. /// public static class ImageUtils { /// /// Returns an instance of EncodingParameters for jpeg compression. /// /// The quality to return the image at. /// The encodingParameters for jpeg compression. public static EncoderParameters GetEncodingParameters(int quality) { EncoderParameters encoderParameters = null; try { // Create a series of encoder parameters. encoderParameters = new EncoderParameters(1); // Set the quality. encoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, quality); } catch { if (encoderParameters != null) { encoderParameters.Dispose(); } } return encoderParameters; } /// Returns a value indicating whether or not the given bitmap is indexed. /// The image to check /// Whether or not the given bitmap is indexed. public static bool IsIndexed(Image image) { // Test value of flags using bitwise AND. // ReSharper disable once BitwiseOperatorOnEnumWithoutFlags return (image.PixelFormat & PixelFormat.Indexed) != 0; } } }