Export (0) Print
Expand All

Encoder::Transformation Field

Represents an Encoder object that is initialized with the globally unique identifier for the transformation parameter category.

Namespace:  System.Drawing.Imaging
Assembly:  System.Drawing (in System.Drawing.dll)

public:
static initonly Encoder^ Transformation

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

The following example creates a Bitmap object from a JPEG file. The code rotates the image 90 degrees and saves it in a separate JPEG file.

#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 JPEG file.
   myBitmap = gcnew Bitmap( "Shapes.jpg" );

   // Get an ImageCodecInfo object that represents the JPEG codec.
   myImageCodecInfo = GetEncoderInfo( "image/jpeg" );

   // Create an Encoder object based on the GUID 
   // for the Transformation parameter category.
   myEncoder = Encoder::Transformation;

   // 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 );

   // Rotate the image 90 degrees, and save it as a separate JPEG file.
   myEncoderParameter = gcnew EncoderParameter( myEncoder,(__int64)EncoderValue::TransformRotate90 );
   myEncoderParameters->Param[ 0 ] = myEncoderParameter;
   myBitmap->Save( "ShapesR90.jpg", 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;
}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Show:
© 2015 Microsoft