Encoder.Compression Pole

Definicja

EncoderObiekt, który jest inicjowany z unikatowym identyfikatorem globalnym dla kategorii parametrów kompresji.An Encoder object that is initialized with the globally unique identifier for the compression parameter category.

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

Wartość pola

Encoder

Przykłady

Poniższy przykład tworzy Bitmap obiekt z pliku BMP.The following example creates a Bitmap object from a BMP file. Kod zapisuje obraz jako plik TIFF, który ma kompresję LZW.The code saves the image as a TIFF file that has LZW compression.

#using <System.Drawing.dll>

using namespace System;
using namespace System::Drawing;
using namespace System::Drawing::Imaging;
static ImageCodecInfo^ GetEncoderInfo( String^ mimeType );
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 TIFF codec.
   myImageCodecInfo = GetEncoderInfo( "image/tiff" );
   
   // Create an Encoder object based on the GUID
   // for the Compression parameter category.
   myEncoder = Encoder::Compression;
   
   // 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 TIFF file with LZW compression.
   myEncoderParameter = gcnew EncoderParameter( myEncoder,(__int64)EncoderValue::CompressionLZW );
   myEncoderParameters->Param[ 0 ] = myEncoderParameter;
   myBitmap->Save( "ShapesLZW.tif", myImageCodecInfo, myEncoderParameters );
}

static ImageCodecInfo^ GetEncoderInfo( String^ mimeType )
{
   int j;
   array<ImageCodecInfo^>^encoders;
   encoders = ImageCodecInfo::GetImageEncoders();
   for ( j = 0; j < encoders->Length; ++j )
   {
      if ( encoders[ j ]->MimeType == mimeType )
            return encoders[ j ];

   }
   return nullptr;
}

using System;
using System.Drawing;
using System.Drawing.Imaging;
class Example_SetTIFFCompression
{
    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 TIFF codec.
        myImageCodecInfo = GetEncoderInfo("image/tiff");
                     
        // Create an Encoder object based on the GUID
        // for the Compression parameter category.
        myEncoder = Encoder.Compression;
                     
        // 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 TIFF file with LZW compression.
        myEncoderParameter = new EncoderParameter(
            myEncoder,
            (long)EncoderValue.CompressionLZW);
        myEncoderParameters.Param[0] = myEncoderParameter;
        myBitmap.Save("ShapesLZW.tif", 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_SetTIFFCompression
    
    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 TIFF codec.
        myImageCodecInfo = GetEncoderInfo("image/tiff")
        
        ' Create an Encoder object based on the GUID
        ' for the Compression parameter category.
        myEncoder = Encoder.Compression
        
        ' 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 TIFF file with LZW compression.
        myEncoderParameter = New EncoderParameter(myEncoder, Fix(EncoderValue.CompressionLZW))
        myEncoderParameters.Param(0) = myEncoderParameter
        myBitmap.Save("ShapesLZW.tif", myImageCodecInfo, myEncoderParameters)
    
    End Sub
    
    Private Shared Function GetEncoderInfo(ByVal mimeType As String) As ImageCodecInfo 
        Dim j As Integer
        Dim encoders() As ImageCodecInfo
        encoders = ImageCodecInfo.GetImageEncoders()
        
        j = 0
        While j < encoders.Length
            If encoders(j).MimeType = mimeType Then
                Return encoders(j)
            End If
            j += 1
        End While
        Return Nothing
    
    End Function 'GetEncoderInfo
End Class

Uwagi

Gdy przekazujesz parametr do kodera obrazu, parametr jest hermetyzowany w EncoderParameter obiekcie.When you pass a parameter to an image encoder, the parameter is encapsulated in an EncoderParameter object. Jedno z pól EncoderParameter obiektu jest identyfikatorem GUID, który określa kategorię parametru.One of the fields of the EncoderParameter object is a GUID that specifies the category of the parameter. Użyj pól statycznych Encoder klasy, aby pobrać zawierający Encoder Parametry żądanej kategorii.Use the static fields of the Encoder class to retrieve an Encoder that contains parameters of the desired category.

Kodery obrazu wbudowane w interfejs GDI+ odbierają parametry należące do kilku kategorii.The image encoders that are built into GDI+ receive parameters that belong to several categories. W poniższej tabeli wymieniono wszystkie kategorie i identyfikator GUID skojarzony z każdą kategorią.The following table lists all the categories and the GUID associated with each category.

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

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

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

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

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

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

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

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

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

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

Dotyczy