Encoder.Compression
Encoder.Compression
Encoder.Compression
Encoder.Compression
Field
Definition
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
Field Value
Examples
The following example creates a Bitmap object from a BMP file. 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
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 'Main
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 'Example_SetTIFFCompression
Remarks
When you pass a parameter to an image encoder, the parameter is encapsulated in an EncoderParameter object. One of the fields of the EncoderParameter object is a GUID that specifies the category of the parameter. Use the static fields of the Encoder class to retrieve an Encoder that contains parameters of the desired category.
The image encoders that are built into GDI+ receive parameters that belong to several categories. The following table lists all the categories and the GUID associated with each category.
ChrominanceTable
f2e455dc-09b3-4316-8260-676ada32481c
ColorDepth
66087055-ad66-4c7c-9a18-38a2310b8337
Compression
e09d739d-ccd4-44ee-8eba-3fbf8be4fc58
LuminanceTable
edb33bce-0266-4a77-b904-27216099e717
Quality
1d5be4b5-fa4a-452d-9cdd-5db35105e7eb
RenderMethod
6d42c53a-229a-4825-8bb7-5c99e2b9a8b8
SaveFlag
292266fc-ac40-47bf-8cfc-a85b89a655de
ScanMethod
3a4e2661-3109-4e56-8536-42c156e7dcfa
Transformation
8d0eb2d1-a58e-4ea8-aa14-108074b7b6f9
Version
24d18c76-814a-41a4-bf53-1c219cccf797
Applies to
See also
Feedback
We'd love to hear your thoughts. Choose the type you'd like to provide:
Our feedback system is built on GitHub Issues. Read more on our blog.
Loading feedback...