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