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


BMP ファイル、JPEG ファイル、および PNG ファイルから 3 つの Bitmap オブジェクトを作成する例を次に示します。このコードは、3 つのイメージすべてを複数フレームの、単一の TIFF ファイルに保存します。
Imports System Imports System.Drawing Imports System.Drawing.Imaging Class Example_MultiFrame Public Shared Sub Main() Dim multi As Bitmap Dim page2 As Bitmap Dim page3 As Bitmap Dim myImageCodecInfo As ImageCodecInfo Dim myEncoder As Encoder Dim myEncoderParameter As EncoderParameter Dim myEncoderParameters As EncoderParameters ' Create three Bitmap objects. multi = New Bitmap("Shapes.bmp") page2 = New Bitmap("Iron.jpg") page3 = New Bitmap("House.png") ' Get an ImageCodecInfo object that represents the TIFF codec. myImageCodecInfo = GetEncoderInfo("image/tiff") ' Create an Encoder object based on the GUID ' for the SaveFlag parameter category. myEncoder = Encoder.SaveFlag ' 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 first page (frame). myEncoderParameter = New EncoderParameter(myEncoder, Fix(EncoderValue.MultiFrame)) myEncoderParameters.Param(0) = myEncoderParameter multi.Save("Multiframe.tiff", myImageCodecInfo, myEncoderParameters) ' Save the second page (frame). myEncoderParameter = New EncoderParameter(myEncoder, Fix(EncoderValue.FrameDimensionPage)) myEncoderParameters.Param(0) = myEncoderParameter multi.SaveAdd(page2, myEncoderParameters) ' Save the third page (frame). myEncoderParameter = New EncoderParameter(myEncoder, Fix(EncoderValue.FrameDimensionPage)) myEncoderParameters.Param(0) = myEncoderParameter multi.SaveAdd(page3, myEncoderParameters) ' Close the multiple-frame file. myEncoderParameter = New EncoderParameter(myEncoder, Fix(EncoderValue.Flush)) myEncoderParameters.Param(0) = myEncoderParameter multi.SaveAdd(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_MultiFrame
using System; using System.Drawing; using System.Drawing.Imaging; class Example_MultiFrame { public static void Main() { Bitmap multi; Bitmap page2; Bitmap page3; ImageCodecInfo myImageCodecInfo; Encoder myEncoder; EncoderParameter myEncoderParameter; EncoderParameters myEncoderParameters; // Create three Bitmap objects. multi = new Bitmap("Shapes.bmp"); page2 = new Bitmap("Iron.jpg"); page3 = new Bitmap("House.png"); // Get an ImageCodecInfo object that represents the TIFF codec. myImageCodecInfo = GetEncoderInfo("image/tiff"); // Create an Encoder object based on the GUID // for the SaveFlag parameter category. myEncoder = Encoder.SaveFlag; // 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 first page (frame). myEncoderParameter = new EncoderParameter( myEncoder, (long)EncoderValue.MultiFrame); myEncoderParameters.Param[0] = myEncoderParameter; multi.Save("Multiframe.tiff", myImageCodecInfo, myEncoderParameters); // Save the second page (frame). myEncoderParameter = new EncoderParameter( myEncoder, (long)EncoderValue.FrameDimensionPage); myEncoderParameters.Param[0] = myEncoderParameter; multi.SaveAdd(page2, myEncoderParameters); // Save the third page (frame). myEncoderParameter = new EncoderParameter( myEncoder, (long)EncoderValue.FrameDimensionPage); myEncoderParameters.Param[0] = myEncoderParameter; multi.SaveAdd(page3, myEncoderParameters); // Close the multiple-frame file. myEncoderParameter = new EncoderParameter( myEncoder, (long)EncoderValue.Flush); myEncoderParameters.Param[0] = myEncoderParameter; multi.SaveAdd(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^ multi; Bitmap^ page2; Bitmap^ page3; ImageCodecInfo^ myImageCodecInfo; Encoder^ myEncoder; EncoderParameter^ myEncoderParameter; EncoderParameters^ myEncoderParameters; // Create three Bitmap objects. multi = gcnew Bitmap( "Shapes.bmp" ); page2 = gcnew Bitmap( "Iron.jpg" ); page3 = gcnew Bitmap( "House.png" ); // Get an ImageCodecInfo object that represents the TIFF codec. myImageCodecInfo = GetEncoderInfo( "image/tiff" ); // Create an Encoder object based on the GUID // for the SaveFlag parameter category. myEncoder = Encoder::SaveFlag; // 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 first page (frame). myEncoderParameter = gcnew EncoderParameter( myEncoder,(__int64)EncoderValue::MultiFrame ); myEncoderParameters->Param[ 0 ] = myEncoderParameter; multi->Save( "Multiframe.tiff", myImageCodecInfo, myEncoderParameters ); // Save the second page (frame). myEncoderParameter = gcnew EncoderParameter( myEncoder,(__int64)EncoderValue::FrameDimensionPage ); myEncoderParameters->Param[ 0 ] = myEncoderParameter; multi->SaveAdd( page2, myEncoderParameters ); // Save the third page (frame). myEncoderParameter = gcnew EncoderParameter( myEncoder,(__int64)EncoderValue::FrameDimensionPage ); myEncoderParameters->Param[ 0 ] = myEncoderParameter; multi->SaveAdd( page3, myEncoderParameters ); // Close the multiple-frame file. myEncoderParameter = gcnew EncoderParameter( myEncoder,(__int64)EncoderValue::Flush ); myEncoderParameters->Param[ 0 ] = myEncoderParameter; multi->SaveAdd( 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_MultiFrame { public static void main(String[] args) { Bitmap multi; Bitmap page2; Bitmap page3; ImageCodecInfo myImageCodecInfo; Encoder myEncoder; EncoderParameter myEncoderParameter; EncoderParameters myEncoderParameters; // Create three Bitmap objects. multi = new Bitmap("Shapes.bmp"); page2 = new Bitmap("Iron.jpg"); page3 = new Bitmap("House.png"); // Get an ImageCodecInfo object that represents the TIFF codec. myImageCodecInfo = GetEncoderInfo("image/tiff"); // Create an Encoder object based on the GUID // for the SaveFlag parameter category. myEncoder = Encoder.SaveFlag; // 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 first page (frame). myEncoderParameter = new EncoderParameter(myEncoder, (long)(EncoderValue.MultiFrame)); myEncoderParameters.get_Param().set_Item( 0 , myEncoderParameter ); multi.Save("Multiframe.tiff", myImageCodecInfo, myEncoderParameters); // Save the second page (frame). myEncoderParameter = new EncoderParameter(myEncoder, (long)(EncoderValue.FrameDimensionPage)); myEncoderParameters.get_Param().set_Item(0, myEncoderParameter); multi.SaveAdd(page2, myEncoderParameters); // Save the third page (frame). myEncoderParameter = new EncoderParameter(myEncoder, (long)(EncoderValue.FrameDimensionPage)); myEncoderParameters.get_Param().set_Item(0, myEncoderParameter); multi.SaveAdd(page3, myEncoderParameters); // Close the multiple-frame file. myEncoderParameter = new EncoderParameter(myEncoder, (long)(EncoderValue.Flush)); myEncoderParameters.get_Param().set_Item(0, myEncoderParameter); multi.SaveAdd(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_MultiFrame

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.SaveFlag フィールドを検索する場合は、下記のリンクをクリックしてください。

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