JPEG: Как получить значение качества JPEG-изображения?
В этом разделе
Вот C#/VB.NET код, который демонстрирует, как получить значение качества JPEG-изображения:
/// <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