Encoder.Quality 필드

정의

Quality 매개 변수 범주의 GUID를 사용하여 초기화된 Encoder 개체를 나타냅니다.Gets an Encoder object that is initialized with the globally unique identifier for the quality parameter category.

public: static initonly System::Drawing::Imaging::Encoder ^ Quality;
public static readonly System.Drawing.Imaging.Encoder Quality;
 staticval mutable Quality : System.Drawing.Imaging.Encoder
Public Shared ReadOnly Quality As Encoder 

필드 값

예제

다음 예제에서는 Bitmap BMP 파일에서 개체입니다.The following example creates a Bitmap object from a BMP file. 코드는 각각 다른 품질 수준으로 세 개의 JPEG 파일에 비트맵을 저장합니다.The code saves the bitmap to three JPEG files, each with a different quality level.

#using <System.Drawing.dll>

using namespace System;
using namespace System::Drawing;
using namespace System::Drawing::Imaging;
static ImageCodecInfo^ GetEncoderInfo( ImageFormat^ format );
int main()
{
   Bitmap^ myBitmap;
   ImageCodecInfo^ myImageCodecInfo;
   Encoder^ myEncoder;
   EncoderParameter^ myEncoderParameter;
   EncoderParameters^ myEncoderParameters;
   
   // Create a Bitmap object based on a BMP file.
   myBitmap = gcnew Bitmap( "Shapes.bmp" );
   
   // Get an ImageCodecInfo object that represents the JPEG codec.
   myImageCodecInfo = GetEncoderInfo( ImageFormat->Jpeg );
   
   // Create an Encoder object based on the GUID
   // for the Quality parameter category.
   myEncoder = Encoder::Quality;
   
   // Create an EncoderParameters object.
   // An EncoderParameters object has an array of EncoderParameter
   // objects. In this case, there is only one
   // EncoderParameter object in the array.
   myEncoderParameters = gcnew EncoderParameters( 1 );
   
   // Save the bitmap as a JPEG file with quality level 25.
   myEncoderParameter = gcnew EncoderParameter( myEncoder,__int64(25) );
   myEncoderParameters->Param[ 0 ] = myEncoderParameter;
   myBitmap->Save( "Shapes025.jpg", myImageCodecInfo, myEncoderParameters );
   
   // Save the bitmap as a JPEG file with quality level 50.
   myEncoderParameter = gcnew EncoderParameter( myEncoder,__int64(50) );
   myEncoderParameters->Param[ 0 ] = myEncoderParameter;
   myBitmap->Save( "Shapes050.jpg", myImageCodecInfo, myEncoderParameters );
   
   // Save the bitmap as a JPEG file with quality level 75.
   myEncoderParameter = gcnew EncoderParameter( myEncoder,__int64(75) );
   myEncoderParameters->Param[ 0 ] = myEncoderParameter;
   myBitmap->Save( "Shapes075.jpg", myImageCodecInfo, myEncoderParameters );
}

static ImageCodecInfo^ GetEncoderInfo( ImageFormat^ format )
{
   int j;
   array<ImageCodecInfo^>^encoders;
   encoders = ImageCodecInfo::GetImageEncoders();
   for ( j = 0; j < encoders->Length; ++j )
   {
      if ( encoders[ j ]->FormatID == format->Guid)
            return encoders[ j ];

   }
   return nullptr;
}

using System;
using System.Drawing;
using System.Drawing.Imaging;
class Example_SetJPEGQuality
{
    public static void Main()
    {
        Bitmap myBitmap;
        ImageCodecInfo myImageCodecInfo;
        Encoder myEncoder;
        EncoderParameter myEncoderParameter;
        EncoderParameters myEncoderParameters;
                     
        // Create a Bitmap object based on a BMP file.
        myBitmap = new Bitmap("Shapes.bmp");
                     
        // Get an ImageCodecInfo object that represents the JPEG codec.
        myImageCodecInfo = GetEncoderInfo("image/jpeg");
                     
        // Create an Encoder object based on the GUID
                     
        // for the Quality parameter category.
        myEncoder = Encoder.Quality;
                     
        // Create an EncoderParameters object.
                     
        // An EncoderParameters object has an array of EncoderParameter
                     
        // objects. In this case, there is only one
                     
        // EncoderParameter object in the array.
        myEncoderParameters = new EncoderParameters(1);
                     
        // Save the bitmap as a JPEG file with quality level 25.
        myEncoderParameter = new EncoderParameter(myEncoder, 25L);
        myEncoderParameters.Param[0] = myEncoderParameter;
        myBitmap.Save("Shapes025.jpg", myImageCodecInfo, myEncoderParameters);
                     
        // Save the bitmap as a JPEG file with quality level 50.
        myEncoderParameter = new EncoderParameter(myEncoder, 50L);
        myEncoderParameters.Param[0] = myEncoderParameter;
        myBitmap.Save("Shapes050.jpg", myImageCodecInfo, myEncoderParameters);
                     
        // Save the bitmap as a JPEG file with quality level 75.
        myEncoderParameter = new EncoderParameter(myEncoder, 75L);
        myEncoderParameters.Param[0] = myEncoderParameter;
        myBitmap.Save("Shapes075.jpg", myImageCodecInfo, myEncoderParameters);
    }
    private static ImageCodecInfo GetEncoderInfo(String mimeType)
    {
        int j;
        ImageCodecInfo[] encoders;
        encoders = ImageCodecInfo.GetImageEncoders();
        for(j = 0; j < encoders.Length; ++j)
        {
            if(encoders[j].MimeType == mimeType)
                return encoders[j];
        }
        return null;
    }
}
Imports System.Drawing
Imports System.Drawing.Imaging


Class Example_SetJPEGQuality

    Public Shared Sub Main()
        Dim myBitmap As Bitmap
        Dim myImageCodecInfo As ImageCodecInfo
        Dim myEncoder As Encoder
        Dim myEncoderParameter As EncoderParameter
        Dim myEncoderParameters As EncoderParameters

        ' Create a Bitmap object based on a BMP file.
        myBitmap = New Bitmap("Shapes.bmp")

        ' Get an ImageCodecInfo object that represents the JPEG codec.
        myImageCodecInfo = GetEncoderInfo(ImageFormat.Jpeg)

        ' Create an Encoder object based on the GUID
        ' for the Quality parameter category.
        myEncoder = Encoder.Quality

        ' Create an EncoderParameters object.
        ' An EncoderParameters object has an array of EncoderParameter
        ' objects. In this case, there is only one
        ' EncoderParameter object in the array.
        myEncoderParameters = New EncoderParameters(1)

        ' Save the bitmap as a JPEG file with quality level 25.
        myEncoderParameter = New EncoderParameter(myEncoder, CType(25L, Int32))
        myEncoderParameters.Param(0) = myEncoderParameter
        myBitmap.Save("Shapes025.jpg", myImageCodecInfo, myEncoderParameters)

        ' Save the bitmap as a JPEG file with quality level 50.
        myEncoderParameter = New EncoderParameter(myEncoder, CType(50L, Int32))
        myEncoderParameters.Param(0) = myEncoderParameter
        myBitmap.Save("Shapes050.jpg", myImageCodecInfo, myEncoderParameters)

        ' Save the bitmap as a JPEG file with quality level 75.
        myEncoderParameter = New EncoderParameter(myEncoder, CType(75L, Int32))
        myEncoderParameters.Param(0) = myEncoderParameter
        myBitmap.Save("Shapes075.jpg", myImageCodecInfo, myEncoderParameters)

    End Sub

    Private Shared Function GetEncoderInfo(ByVal format As ImageFormat) As ImageCodecInfo
        Dim j As Integer
        Dim encoders() As ImageCodecInfo
        encoders = ImageCodecInfo.GetImageEncoders()

        j = 0
        While j < encoders.Length
            If encoders(j).FormatID = format.Guid Then
                Return encoders(j)
            End If
            j += 1
        End While
        Return Nothing

    End Function 'GetEncoderInfo
End Class

설명

Quality 범주 이미지에 대 한 압축 수준을 지정 합니다.The Quality category specifies the level of compression for an image. 생성 하는 데 사용 하는 경우는 EncoderParameter, 품질 범주에 대 한 유용한 값의 범위는 0에서 100 까지입니다.When used to construct an EncoderParameter, the range of useful values for the quality category is from 0 to 100. 낮을수록 수 지정 높을수록 압축 및 이미지 품질이 낮아집니다.The lower the number specified, the higher the compression and therefore the lower the quality of the image. 0을 지정 하면 가장 낮은 품질 이미지과 100은 가장 높은 합니다.Zero would give you the lowest quality image and 100 the highest.

이미지 인코더 매개 변수를 전달할 매개 변수에서 캡슐화 됩니다는 EncoderParameter 개체입니다.When you pass a parameter to an image encoder, the parameter is encapsulated in an EncoderParameter object. 필드 중 하나는 EncoderParameter 개체는 매개 변수의 범주를 지정 하는 GUID입니다.One of the fields of the EncoderParameter object is a GUID that specifies the category of the parameter. 정적 필드를 사용 합니다 Encoder 검색할 클래스는 Encoder 원하는 범주 매개 변수를 포함 하는 합니다.Use the static fields of the Encoder class to retrieve an Encoder that contains parameters of the desired category.

에 기본 제공 되는 이미지 인코더 GDI+GDI+ 여러 범주에 속하는 매개 변수를 수신 합니다.The image encoders that are built into GDI+GDI+ receive parameters that belong to several categories. 다음 표에서 모든 범주를 나열 하 고 각 범주와 관련 된 GUID입니다.The following table lists all the categories and the GUID associated with each category.

ChrominanceTable
f2e455dc-09b3-4316-8260-676ada32481cf2e455dc-09b3-4316-8260-676ada32481c

ColorDepth
66087055-ad66-4c7c-9a18-38a2310b833766087055-ad66-4c7c-9a18-38a2310b8337

Compression
e09d739d-ccd4-44ee-8eba-3fbf8be4fc58e09d739d-ccd4-44ee-8eba-3fbf8be4fc58

LuminanceTable
edb33bce-0266-4a77-b904-27216099e717edb33bce-0266-4a77-b904-27216099e717

Quality
1d5be4b5-fa4a-452d-9cdd-5db35105e7eb1d5be4b5-fa4a-452d-9cdd-5db35105e7eb

RenderMethod
6d42c53a-229a-4825-8bb7-5c99e2b9a8b86d42c53a-229a-4825-8bb7-5c99e2b9a8b8

SaveFlag
292266fc-ac40-47bf-8cfc-a85b89a655de292266fc-ac40-47bf-8cfc-a85b89a655de

ScanMethod
3a4e2661-3109-4e56-8536-42c156e7dcfa3a4e2661-3109-4e56-8536-42c156e7dcfa

Transformation
8d0eb2d1-a58e-4ea8-aa14-108074b7b6f98d0eb2d1-a58e-4ea8-aa14-108074b7b6f9

Version
24d18c76-814a-41a4-bf53-1c219cccf79724d18c76-814a-41a4-bf53-1c219cccf797

적용 대상

추가 정보