VintaSoft Imaging .NET SDK 12.4: Documentation for .NET developer
In This Topic
    JPEG: How to get a quality value of JPEG image?
    In This Topic
    Here is C#/VB.NET code that shows how to get a quality value of JPEG image:
    /// <summary>
    /// Returns a quality value of JPEG image.
    /// </summary>
    /// <param name="jpegFilename">A filename of JPEG image.</param>
    /// <returns>
    /// A quality value of JPEG image.
    /// </returns>
    public static int GetJpegQuality(string jpegFilename)
    {
        // open an existing JPEG file
        using (Vintasoft.Imaging.Codecs.ImageFiles.Jpeg.JpegFile file =
            new Vintasoft.Imaging.Codecs.ImageFiles.Jpeg.JpegFile(
                jpegFilename, System.IO.FileMode.Open, System.IO.FileAccess.Read))
        {
            // return the JPEG quality value
            return file.GetApproximateQualityValue();
        }
    }
    
    /// <summary>
    /// Returns a quality value of JPEG image.
    /// </summary>
    /// <param name="image">An image.</param>
    /// <returns>
    /// A quality value of JPEG image.
    /// </returns>
    /// <exception cref="System.ArgumentException">Thrown if image does not have JPEG metadata.</exception>
    public static int GetJpegQuality(Vintasoft.Imaging.VintasoftImage image)
    {
        // get JPEG metadata
        Vintasoft.Imaging.Metadata.JpegMetadata jpegMetadata =
            image.Metadata.MetadataTree as Vintasoft.Imaging.Metadata.JpegMetadata;
        // if metadata is not empty
        if (jpegMetadata != null)
            // return the JPEG quality value
            return jpegMetadata.Quality;
    
        throw new System.ArgumentException("The image does not have JPEG metadata.");
    }
    
    ''' <summary>
    ''' Returns a quality value of JPEG image.
    ''' </summary>
    ''' <param name="jpegFilename">A filename of JPEG image.</param>
    ''' <returns>
    ''' A quality value of JPEG image.
    ''' </returns>
    Public Shared Function GetJpegQuality(jpegFilename As String) As Integer
        ' open an existing JPEG file
        Using file As New Vintasoft.Imaging.Codecs.ImageFiles.Jpeg.JpegFile(jpegFilename, System.IO.FileMode.Open, System.IO.FileAccess.Read)
            ' return the JPEG quality value
            Return file.GetApproximateQualityValue()
        End Using
    End Function
    
    ''' <summary>
    ''' Returns a quality value of JPEG image.
    ''' </summary>
    ''' <param name="image">An image.</param>
    ''' <returns>
    ''' A quality value of JPEG image.
    ''' </returns>
    ''' <exception cref="System.ArgumentException">Thrown if image does not have JPEG metadata.</exception>
    Public Shared Function GetJpegQuality(image As Vintasoft.Imaging.VintasoftImage) As Integer
        ' get JPEG metadata
        Dim jpegMetadata As Vintasoft.Imaging.Metadata.JpegMetadata = TryCast(image.Metadata.MetadataTree, Vintasoft.Imaging.Metadata.JpegMetadata)
        ' if metadata is not empty
        If jpegMetadata IsNot Nothing Then
            ' return the JPEG quality value
            Return jpegMetadata.Quality
        End If
    
        Throw New System.ArgumentException("The image does not have JPEG metadata.")
    End Function