Encoder.Quality フィールド
アセンブリ: System.Drawing (system.drawing.dll 内)


Quality カテゴリは、イメージの圧縮レベルを指定します。EncoderParameter を構築するために使用する場合、品質カテゴリに有効な値の範囲は 0 ~ 100 です。低い数値を指定するほど、圧縮率が高くなり、イメージの品質は低下します。品質は 0 で最低、100 で最高になります。

BMP ファイルから Bitmap オブジェクトを作成する例を次に示します。このコードは、それぞれ品質レベルの異なる 3 つの JPEG ファイルにビットマップを保存します。
Imports System 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("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, 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 '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_SetJPEGQuality
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; } }
#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 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 = 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( 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; }
import System.* ; import System.Drawing.* ; import System.Drawing.Imaging.* ; class Example_SetJPEGQuality { public static void main(String[] args) { 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.get_Param().set_Item( 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.get_Param().set_Item( 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.get_Param().set_Item( 0 , myEncoderParameter ); myBitmap.Save("Shapes075.jpg", myImageCodecInfo, myEncoderParameters); } //main private static ImageCodecInfo GetEncoderInfo(String mimeType) { int j; ImageCodecInfo encoders[]; encoders = ImageCodecInfo.GetImageEncoders(); for(j = 0; j < encoders.length; j++) { if ( encoders[j].get_MimeType().Equals(mimeType)) { return encoders[j]; } } return null ; } //GetEncoderInfo } //Example_SetJPEGQuality

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からEncoder.Quality フィールドを検索する場合は、下記のリンクをクリックしてください。

- Encoder.Quality フィールドのページへのリンク