Encoder.Quality フィールド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
品質パラメーター カテゴリのグローバル一意識別子を使用して初期化される Encoder オブジェクトを取得します。
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 ファイルから オブジェクトを作成します。 このコードでは、ビットマップを 3 つの JPEG ファイルに保存し、それぞれ品質レベルが異なります。
#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 、イメージの圧縮レベルを指定します。 を EncoderParameter構築するために使用する場合、品質カテゴリの有用な値の範囲は 0 から 100 です。 指定された数値が小さいと、圧縮が高くなり、イメージの品質が低下します。 ゼロを使用すると、最も低い品質の画像が得られ、100 が最も高くなります。
イメージ エンコーダーにパラメーターを渡すと、パラメーターは オブジェクトに EncoderParameter カプセル化されます。 オブジェクトのフィールドの EncoderParameter 1 つは、パラメーターのカテゴリを指定する 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
適用対象
こちらもご覧ください
.NET