Encoder.Transformation Поле
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет объект Encoder, инициализируемый глобальным уникальным идентификатором для категории параметра способа преобразования.
public: static initonly System::Drawing::Imaging::Encoder ^ Transformation;
public static readonly System.Drawing.Imaging.Encoder Transformation;
staticval mutable Transformation : System.Drawing.Imaging.Encoder
Public Shared ReadOnly Transformation As Encoder
Значение поля
Примеры
В следующем примере создается Bitmap объект из JPEG-файла. Код поворачивает изображение на 90 градусов и сохраняет его в отдельном JPEG-файле.
#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;
}
using System;
using System.Drawing;
using System.Drawing.Imaging;
class Example_RotateJPEG
{
public static void Main()
{
Bitmap myBitmap;
ImageCodecInfo myImageCodecInfo;
Encoder myEncoder;
EncoderParameter myEncoderParameter;
EncoderParameters myEncoderParameters;
// Create a Bitmap object based on a JPEG file.
myBitmap = new 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 = new EncoderParameters(1);
// Rotate the image 90 degrees, and save it as a separate JPEG file.
myEncoderParameter = new EncoderParameter(
myEncoder,
(long)EncoderValue.TransformRotate90);
myEncoderParameters.Param[0] = myEncoderParameter;
myBitmap.Save("ShapesR90.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_RotateJPEG
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 JPEG file.
myBitmap = New 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 = New EncoderParameters(1)
' Rotate the image 90 degrees, and save it as a separate JPEG file.
myEncoderParameter = New EncoderParameter(myEncoder, Fix(EncoderValue.TransformRotate90))
myEncoderParameters.Param(0) = myEncoderParameter
myBitmap.Save("ShapesR90.jpg", 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
Комментарии
При передаче параметра в кодировщик изображений параметр инкапсулируется в EncoderParameter объект . Одним из полей EncoderParameter объекта является GUID, указывающий категорию параметра. Используйте статические поля класса , Encoder чтобы получить Encoder объект , содержащий параметры нужной категории.
Кодировщики изображений, встроенные в параметры приема GDI+, относящиеся к нескольким категориям. В следующей таблице перечислены все категории и GUID, связанные с каждой категорией.
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