Bitmap コンストラクター

定義

Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class.

オーバーロード

Bitmap(Image)

指定した既存のイメージを使用して、Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class from the specified existing image.

Bitmap(Stream)

指定したデータ ストリームで Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class from the specified data stream.

Bitmap(String)

指定したファイルで Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class from the specified file.

Bitmap(Image, Size)

指定したサイズにスケールを設定して、指定した既存のイメージで Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class from the specified existing image, scaled to the specified size.

Bitmap(Int32, Int32)

指定したサイズを使用して、Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class with the specified size.

Bitmap(Stream, Boolean)

指定したデータ ストリームで Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class from the specified data stream.

Bitmap(String, Boolean)

指定したファイルで Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class from the specified file.

Bitmap(Type, String)

指定したリソースで Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class from a specified resource.

Bitmap(Image, Int32, Int32)

指定したサイズにスケールを設定して、指定した既存のイメージで Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class from the specified existing image, scaled to the specified size.

Bitmap(Int32, Int32, Graphics)

指定したサイズと指定した Graphics オブジェクトの解像度を使用して、Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class with the specified size and with the resolution of the specified Graphics object.

Bitmap(Int32, Int32, PixelFormat)

指定したサイズと形式を使用して、Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class with the specified size and format.

Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr)

指定したサイズ、ピクセル形式、ピクセル データを使用して、Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class with the specified size, pixel format, and pixel data.

Bitmap(Image)

指定した既存のイメージを使用して、Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class from the specified existing image.

public:
 Bitmap(System::Drawing::Image ^ original);
public Bitmap (System.Drawing.Image original);
new System.Drawing.Bitmap : System.Drawing.Image -> System.Drawing.Bitmap
Public Sub New (original As Image)

パラメーター

original
Image

新しい Bitmap の作成元の ImageThe Image from which to create the new Bitmap.

Bitmap(Stream)

指定したデータ ストリームで Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class from the specified data stream.

public:
 Bitmap(System::IO::Stream ^ stream);
public Bitmap (System.IO.Stream stream);
new System.Drawing.Bitmap : System.IO.Stream -> System.Drawing.Bitmap

パラメーター

stream
Stream

イメージの読み込みに使用するデータ ストリーム。The data stream used to load the image.

例外

stream にイメージ データが含まれていないか null です。stream does not contain image data or is null.

または-or- stream に、65,535 ピクセルよりも大きい 1 次元の PNG イメージ ファイルが含まれています。stream contains a PNG image file with a single dimension greater than 65,535 pixels.

次のコード例は、ストリームからビットマップを読み込む方法を示しています。The following code example demonstrates how to load a bitmap from a stream.

この例は、Windows フォームと共に使用するように設計されています。This example is designed to be used with Windows Forms. @No__t-1 という名前の @no__t 0 を含むフォームを作成します。Create a form that contains a PictureBox named PictureBox1. フォームにコードを貼り付け、フォームのコンストラクターまたは Load のイベント処理メソッドから InitializeStreamBitmap メソッドを呼び出します。Paste the code into the form and call the InitializeStreamBitmap method from the form's constructor or Load event-handling method.

void InitializeStreamBitmap()
{
   try
   {
      System::Net::WebRequest^ request = System::Net::WebRequest::Create( "http://www.microsoft.com//h/en-us/r/ms_masthead_ltr.gif" );
      System::Net::WebResponse^ response = request->GetResponse();
      System::IO::Stream^ responseStream = response->GetResponseStream();
      Bitmap^ bitmap2 = gcnew Bitmap( responseStream );
      PictureBox1->Image = bitmap2;
   }
   catch ( System::Net::WebException^ ) 
   {
      MessageBox::Show( "There was an error opening the image file."
      "Check the URL" );
   }

}
private void InitializeStreamBitmap()
{
    try
    {
        System.Net.WebRequest request = 
            System.Net.WebRequest.Create(
            "http://www.microsoft.com//h/en-us/r/ms_masthead_ltr.gif");
        System.Net.WebResponse response = request.GetResponse();
        System.IO.Stream responseStream = 
            response.GetResponseStream();
        Bitmap bitmap2 = new Bitmap(responseStream);
        PictureBox1.Image = bitmap2;

    }
    catch(System.Net.WebException)
    {
        MessageBox.Show("There was an error opening the image file."
           + "Check the URL");
    }
}
Private Sub InitializeStreamBitmap()
    Try
        Dim request As System.Net.WebRequest = _
            System.Net.WebRequest.Create( _
            "http://www.microsoft.com//h/en-us/r/ms_masthead_ltr.gif")
        Dim response As System.Net.WebResponse = request.GetResponse()
        Dim responseStream As System.IO.Stream = response.GetResponseStream()
        Dim bitmap2 As New Bitmap(responseStream)
        PictureBox1.Image = bitmap2

    Catch ex As System.Net.WebException
        MessageBox.Show("There was an error opening the image file. Check the URL")
    End Try
End Sub

注釈

@No__t-0 の有効期間中は、ストリームを開いたままにしておく必要があります。You must keep the stream open for the lifetime of the Bitmap.

@No__t 0 のデコーダーの制限により、1つのディメンションが65535ピクセルを超えるビットマップを .png イメージファイルから構築すると、System.ArgumentException がスローされます。Due to a limitation of the GDI+GDI+ decoder, an System.ArgumentException is thrown if you construct a bitmap from a .png image file with a single dimension greater than 65,535 pixels.

こちらもご覧ください

Bitmap(String)

指定したファイルで Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class from the specified file.

public:
 Bitmap(System::String ^ filename);
public Bitmap (string filename);
new System.Drawing.Bitmap : string -> System.Drawing.Bitmap
Public Sub New (filename As String)

パラメーター

filename
String

ビットマップ ファイルの名前とパス。The bitmap file name and path.

例外

指定されたファイルが見つかりません。The specified file is not found.

注釈

ファイル名とパスは、アプリケーションまたは絶対パスの相対パスにすることができます。The file name and path can be relative to the application or an absolute path. 次のファイル形式のイメージを開くには、このコンストラクターを使用します。BMP、GIF、EXIF、JPG、PNG、TIFF。Use this constructor to open images with the following file formats: BMP, GIF, EXIF, JPG, PNG and TIFF. サポートされている形式の詳細については、「ビットマップの種類」を参照してください。For more information about supported formats, see Types of Bitmaps. @No__t-0 が破棄されるまで、ファイルはロックされたままになります。The file remains locked until the Bitmap is disposed.

こちらもご覧ください

Bitmap(Image, Size)

指定したサイズにスケールを設定して、指定した既存のイメージで Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class from the specified existing image, scaled to the specified size.

public:
 Bitmap(System::Drawing::Image ^ original, System::Drawing::Size newSize);
public Bitmap (System.Drawing.Image original, System.Drawing.Size newSize);
new System.Drawing.Bitmap : System.Drawing.Image * System.Drawing.Size -> System.Drawing.Bitmap
Public Sub New (original As Image, newSize As Size)

パラメーター

original
Image

新しい Bitmap の作成元の ImageThe Image from which to create the new Bitmap.

newSize
Size

新しい Bitmap のサイズを表す Size 構造。The Size structure that represent the size of the new Bitmap.

例外

操作に失敗しました。The operation failed.

Bitmap(Int32, Int32)

指定したサイズを使用して、Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class with the specified size.

public:
 Bitmap(int width, int height);
public Bitmap (int width, int height);
new System.Drawing.Bitmap : int * int -> System.Drawing.Bitmap
Public Sub New (width As Integer, height As Integer)

パラメーター

width
Int32

新しい Bitmap の幅 (ピクセル単位)。The width, in pixels, of the new Bitmap.

height
Int32

新しい Bitmap の高さ (ピクセル単位)。The height, in pixels, of the new Bitmap.

例外

操作に失敗しました。The operation failed.

注釈

このコンストラクターは、PixelFormat の列挙値 Format32bppArgb を持つ @no__t 0 を作成します。This constructor creates a Bitmap with a PixelFormat enumeration value of Format32bppArgb.

Bitmap(Stream, Boolean)

指定したデータ ストリームで Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class from the specified data stream.

public:
 Bitmap(System::IO::Stream ^ stream, bool useIcm);
public Bitmap (System.IO.Stream stream, bool useIcm);
new System.Drawing.Bitmap : System.IO.Stream * bool -> System.Drawing.Bitmap

パラメーター

stream
Stream

イメージの読み込みに使用するデータ ストリーム。The data stream used to load the image.

useIcm
Boolean

この Bitmap に対して色補正を使用する場合は true、それ以外の場合は false です。true to use color correction for this Bitmap; otherwise, false.

例外

stream にイメージ データが含まれていないか null です。stream does not contain image data or is null.

- または --or- stream に、65,535 ピクセルよりも大きい 1 次元の PNG イメージ ファイルが含まれています。stream contains a PNG image file with a single dimension greater than 65,535 pixels.

注釈

@No__t-0 の有効期間中は、ストリームを開いたままにしておく必要があります。You must keep the stream open for the lifetime of the Bitmap.

@No__t 0 のデコーダーの制限により、1つのディメンションが65535ピクセルを超えるビットマップを .png イメージファイルから構築すると、System.ArgumentException がスローされます。Due to a limitation of the GDI+GDI+ decoder, an System.ArgumentException is thrown if you construct a bitmap from a .png image file with a single dimension greater than 65,535 pixels.

こちらもご覧ください

Bitmap(String, Boolean)

指定したファイルで Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class from the specified file.

public:
 Bitmap(System::String ^ filename, bool useIcm);
public Bitmap (string filename, bool useIcm);
new System.Drawing.Bitmap : string * bool -> System.Drawing.Bitmap
Public Sub New (filename As String, useIcm As Boolean)

パラメーター

filename
String

ビットマップ ファイルの名前。The name of the bitmap file.

useIcm
Boolean

この Bitmap に対して色補正を使用する場合は true、それ以外の場合は false です。true to use color correction for this Bitmap; otherwise, false.

次のコード例は、ファイルから新しいビットマップを作成する方法を示しています。The following code example demonstrates how to construct a new bitmap from a file. この例では、GetPixel および SetPixel の各メソッドを使用して、イメージの色を変更します。The example uses the GetPixel and SetPixel methods to recolor the image. また、PixelFormat プロパティも使用します。It also uses the PixelFormat property.

この例は、@no__t 0、PictureBoxButton、それぞれ Label1PictureBox1Button1 を含む Windows フォームと共に使用するように設計されています。This example is designed to be used with a Windows Form that contains a Label, PictureBox and Button named Label1, PictureBox1 and Button1, respectively. フォームにコードを貼り付け、Button1_Click メソッドをボタンの @no__t イベントに関連付けます。Paste the code into the form and associate the Button1_Click method with the button's Click event.

private:
   Bitmap^ image1;
   void Button1_Click( System::Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      try
      {
         
         // Retrieve the image.
         image1 = gcnew Bitmap( "C:\\Documents and Settings\\All Users\\"
         "Documents\\My Music\\music.bmp",true );
         int x;
         int y;
         
         // Loop through the images pixels to reset color.
         for ( x = 0; x < image1->Width; x++ )
         {
            for ( y = 0; y < image1->Height; y++ )
            {
               Color pixelColor = image1->GetPixel( x, y );
               Color newColor = Color::FromArgb( pixelColor.R, 0, 0 );
               image1->SetPixel( x, y, newColor );

            }

         }
         
         // Set the PictureBox to display the image.
         PictureBox1->Image = image1;
         
         // Display the pixel format in Label1.
         Label1->Text = String::Format( "Pixel format: {0}", image1->PixelFormat );
      }
      catch ( ArgumentException^ ) 
      {
         MessageBox::Show( "There was an error."
         "Check the path to the image file." );
      }

   }
Bitmap image1;

private void Button1_Click(System.Object sender, System.EventArgs e)
{

    try
    {
        // Retrieve the image.
        image1 = new Bitmap(@"C:\Documents and Settings\All Users\" 
            + @"Documents\My Music\music.bmp", true);

        int x, y;

        // Loop through the images pixels to reset color.
        for(x=0; x<image1.Width; x++)
        {
            for(y=0; y<image1.Height; y++)
            {
                Color pixelColor = image1.GetPixel(x, y);
                Color newColor = Color.FromArgb(pixelColor.R, 0, 0);
                image1.SetPixel(x, y, newColor);
            }
        }

        // Set the PictureBox to display the image.
        PictureBox1.Image = image1;

        // Display the pixel format in Label1.
        Label1.Text = "Pixel format: "+image1.PixelFormat.ToString();

    }
    catch(ArgumentException)
    {
        MessageBox.Show("There was an error." +
            "Check the path to the image file.");
    }
}
Dim image1 As Bitmap

Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click

    Try
        ' Retrieve the image.
        image1 = New Bitmap( _
            "C:\Documents and Settings\All Users\Documents\My Music\music.bmp", _
            True)

        Dim x, y As Integer

        ' Loop through the images pixels to reset color.
        For x = 0 To image1.Width - 1
            For y = 0 To image1.Height - 1
                Dim pixelColor As Color = image1.GetPixel(x, y)
                Dim newColor As Color = _
                    Color.FromArgb(pixelColor.R, 0, 0)
                image1.SetPixel(x, y, newColor)
            Next
        Next

        ' Set the PictureBox to display the image.
        PictureBox1.Image = image1

        ' Display the pixel format in Label1.
        Label1.Text = "Pixel format: " + image1.PixelFormat.ToString()

    Catch ex As ArgumentException
        MessageBox.Show("There was an error." _
            & "Check the path to the image file.")
    End Try
End Sub

注釈

次のファイル形式のイメージを開くには、このコンストラクターを使用します。BMP、GIF、EXIF、JPG、PNG、TIFF。Use this constructor to open images with the following file formats: BMP, GIF, EXIF, JPG, PNG and TIFF. サポートされている形式の詳細については、「ビットマップの種類」を参照してください。For more information about supported formats, see Types of Bitmaps. @No__t-0 が破棄されるまで、ファイルはロックされたままになります。The file remains locked until the Bitmap is disposed.

セキュリティ

SecurityPermission
アンマネージコードを呼び出すための。for calling into unmanaged code. 関連する列挙値: UnmanagedCodeRelated enumeration: UnmanagedCode

こちらもご覧ください

Bitmap(Type, String)

指定したリソースで Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class from a specified resource.

public:
 Bitmap(Type ^ type, System::String ^ resource);
public Bitmap (Type type, string resource);
new System.Drawing.Bitmap : Type * string -> System.Drawing.Bitmap

パラメーター

type
Type

リソースの抽出に使用されるクラス。The class used to extract the resource.

resource
String

リソースの名前。The name of the resource.

次のコード例は、型からビットマップを構築する方法と、Save メソッドの使用方法を示しています。The following code example demonstrates how to construct a bitmap from a type, and how to use the Save method. この例を実行するには、Windows フォームにコードを貼り付けます。To run this example, paste the code into a Windows Form. フォームの @no__t 0 イベントを処理し、ConstructFromResourceSaveAsGif メソッドを呼び出します。 ePaintEventArgs として渡します。Handle the form's Paint event and call the ConstructFromResourceSaveAsGif method, passing e as PaintEventArgs

private:
    void ConstructFromResourceSaveAsGif(PaintEventArgs^ e)
    {
        // Construct a bitmap from the button image resource.
        Bitmap^ bmp1 = gcnew Bitmap(Button::typeid, "Button.bmp");
        String^ savePath =  
            Environment::GetEnvironmentVariable("TEMP") + "\\Button.bmp";

        try
        {
            // Save the image as a GIF.
            bmp1->Save(savePath, System::Drawing::Imaging::ImageFormat::Gif);
        }
        catch (IOException^)
        {
            // Carry on regardless
        }

        // Construct a new image from the GIF file.
        Bitmap^ bmp2 = nullptr;
        if (File::Exists(savePath))
        {
            bmp2 = gcnew Bitmap(savePath);
        }

        // Draw the two images.
        e->Graphics->DrawImage(bmp1, Point(10, 10));

        // If bmp1 did not save to disk, bmp2 may be null
        if (bmp2 != nullptr)
        {
            e->Graphics->DrawImage(bmp2, Point(10, 40));
        }

        // Dispose of the image files.
        delete bmp1;
        if (bmp2 != nullptr)
        {
            delete bmp2;
        }
    }
private void ConstructFromResourceSaveAsGif(PaintEventArgs e)
{

    // Construct a bitmap from the button image resource.
    Bitmap bmp1 = new Bitmap(typeof(Button), "Button.bmp");

    // Save the image as a GIF.
    bmp1.Save("c:\\button.gif", System.Drawing.Imaging.ImageFormat.Gif);

    // Construct a new image from the GIF file.
    Bitmap bmp2 = new Bitmap("c:\\button.gif");

    // Draw the two images.
    e.Graphics.DrawImage(bmp1, new Point(10, 10));
    e.Graphics.DrawImage(bmp2, new Point(10, 40));

    // Dispose of the image files.
    bmp1.Dispose();
    bmp2.Dispose();
}
Private Sub ConstructFromResourceSaveAsGif(ByVal e As PaintEventArgs)

    ' Construct a bitmap from the button image resource.
    Dim bmp1 As New Bitmap(GetType(Button), "Button.bmp")

    ' Save the image as a GIF.
    bmp1.Save("c:\button.gif", System.Drawing.Imaging.ImageFormat.Gif)

    ' Construct a new image from the GIF file.
    Dim bmp2 As New Bitmap("c:\button.gif")

    ' Draw the two images.
    e.Graphics.DrawImage(bmp1, New Point(10, 10))
    e.Graphics.DrawImage(bmp2, New Point(10, 40))

    ' Dispose of the image files.
    bmp1.Dispose()
    bmp2.Dispose()
End Sub

注釈

このコンストラクターは、指定された型の名前空間とリソースの文字列名を組み合わせて、アセンブリマニフェストで一致するものを検索します。This constructor combines the namespace of the given type with the string name of the resource and looks for a match in the assembly manifest. たとえば、@no__t 0 の型を渡し、このコンストラクターに-1 を @no__t して、System.Windows.Forms.Button.bmp という名前のリソースを検索することができます。For example you can pass in the Button type and Button.bmp to this constructor and it will look for a resource named System.Windows.Forms.Button.bmp.

こちらもご覧ください

Bitmap(Image, Int32, Int32)

指定したサイズにスケールを設定して、指定した既存のイメージで Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class from the specified existing image, scaled to the specified size.

public:
 Bitmap(System::Drawing::Image ^ original, int width, int height);
public Bitmap (System.Drawing.Image original, int width, int height);
new System.Drawing.Bitmap : System.Drawing.Image * int * int -> System.Drawing.Bitmap
Public Sub New (original As Image, width As Integer, height As Integer)

パラメーター

original
Image

新しい Image の作成元の BitmapThe Image from which to create the new Bitmap.

width
Int32

新しい Bitmap の幅 (ピクセル単位)。The width, in pixels, of the new Bitmap.

height
Int32

新しい Bitmap の高さ (ピクセル単位)。The height, in pixels, of the new Bitmap.

例外

操作に失敗しました。The operation failed.

Bitmap(Int32, Int32, Graphics)

指定したサイズと指定した Graphics オブジェクトの解像度を使用して、Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class with the specified size and with the resolution of the specified Graphics object.

public:
 Bitmap(int width, int height, System::Drawing::Graphics ^ g);
public Bitmap (int width, int height, System.Drawing.Graphics g);
new System.Drawing.Bitmap : int * int * System.Drawing.Graphics -> System.Drawing.Bitmap
Public Sub New (width As Integer, height As Integer, g As Graphics)

パラメーター

width
Int32

新しい Bitmap の幅 (ピクセル単位)。The width, in pixels, of the new Bitmap.

height
Int32

新しい Bitmap の高さ (ピクセル単位)。The height, in pixels, of the new Bitmap.

g
Graphics

新しい Bitmap の解像度を指定する Graphics オブジェクト。The Graphics object that specifies the resolution for the new Bitmap.

例外

gnull です。g is null.

注釈

このメソッドによって作成される新しい @no__t 0 は、それぞれ gDpiX プロパティと DpiY プロパティの水平方向および垂直方向の解像度をとります。The new Bitmap that this method creates takes its horizontal and vertical resolution from the DpiX and DpiY properties of g, respectively.

Bitmap(Int32, Int32, PixelFormat)

指定したサイズと形式を使用して、Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class with the specified size and format.

public:
 Bitmap(int width, int height, System::Drawing::Imaging::PixelFormat format);
public Bitmap (int width, int height, System.Drawing.Imaging.PixelFormat format);
new System.Drawing.Bitmap : int * int * System.Drawing.Imaging.PixelFormat -> System.Drawing.Bitmap
Public Sub New (width As Integer, height As Integer, format As PixelFormat)

パラメーター

width
Int32

新しい Bitmap の幅 (ピクセル単位)。The width, in pixels, of the new Bitmap.

height
Int32

新しい Bitmap の高さ (ピクセル単位)。The height, in pixels, of the new Bitmap.

format
PixelFormat

新しい Bitmap のピクセル形式。The pixel format for the new Bitmap. これには、Format で始まる値を指定する必要があります。This must specify a value that begins with Format.

例外

名前が Format で始まらない PixelFormat 値が指定されます。A PixelFormat value is specified whose name does not start with Format. たとえば、Gdi を指定すると、ArgumentException が発生しますが、Format48bppRgb を指定した場合は発生しません。For example, specifying Gdi will cause an ArgumentException, but Format48bppRgb will not.

Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr)

指定したサイズ、ピクセル形式、ピクセル データを使用して、Bitmap クラスの新しいインスタンスを初期化します。Initializes a new instance of the Bitmap class with the specified size, pixel format, and pixel data.

public:
 Bitmap(int width, int height, int stride, System::Drawing::Imaging::PixelFormat format, IntPtr scan0);
public Bitmap (int width, int height, int stride, System.Drawing.Imaging.PixelFormat format, IntPtr scan0);
new System.Drawing.Bitmap : int * int * int * System.Drawing.Imaging.PixelFormat * nativeint -> System.Drawing.Bitmap
Public Sub New (width As Integer, height As Integer, stride As Integer, format As PixelFormat, scan0 As IntPtr)

パラメーター

width
Int32

新しい Bitmap の幅 (ピクセル単位)。The width, in pixels, of the new Bitmap.

height
Int32

新しい Bitmap の高さ (ピクセル単位)。The height, in pixels, of the new Bitmap.

stride
Int32

スキャン ラインの間のバイト オフセット数を指定する整数。Integer that specifies the byte offset between the beginning of one scan line and the next. これには、通常 (必須ではありません)、ピクセルあたりのバイト数という形式 (16 ビット/ピクセルの場合は 2) にビットマップの幅を乗じた値を指定します。This is usually (but not necessarily) the number of bytes in the pixel format (for example, 2 for 16 bits per pixel) multiplied by the width of the bitmap. このパラメーターに渡す値は、4 の倍数である必要があります。The value passed to this parameter must be a multiple of four.

format
PixelFormat

新しい Bitmap のピクセル形式。The pixel format for the new Bitmap. これには、Format で始まる値を指定する必要があります。This must specify a value that begins with Format.

scan0
IntPtr

ピクセル データを格納するバイトの配列へのポインター。Pointer to an array of bytes that contains the pixel data.

例外

名前が Format で始まらない PixelFormat 値が指定されます。A PixelFormat value is specified whose name does not start with Format. たとえば、Gdi を指定すると、ArgumentException が発生しますが、Format48bppRgb を指定した場合は発生しません。For example, specifying Gdi will cause an ArgumentException, but Format48bppRgb will not.

次のコード例は、@no__t 0 のコンストラクターを使用する方法を示しています。The following code example shows how to use the Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) constructor. この例は、Windows フォームと共に使用するように設計されており、Paint イベントのパラメーターである @no__t 0 パラメーターを必要とします。This example is designed to be used with Windows Forms and requires a PaintEventArgs parameter, which is a parameter of the Paint event.

private void BitmapConstructorEx(PaintEventArgs e)
{

    // Create a bitmap.
    Bitmap bmp = new Bitmap("c:\\fakePhoto.jpg");
    
   // Retrieve the bitmap data from the bitmap.
    System.Drawing.Imaging.BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), 
        ImageLockMode.ReadOnly, bmp.PixelFormat);

    //Create a new bitmap.
    Bitmap newBitmap = new Bitmap(200, 200, bmpData.Stride, bmp.PixelFormat, bmpData.Scan0);

    bmp.UnlockBits(bmpData);

    // Draw the new bitmap.
    e.Graphics.DrawImage(newBitmap, 10, 10);

}
Private Sub BitmapConstructorEx(ByVal e As PaintEventArgs)

    ' Create a bitmap.
    Dim bmp As New Bitmap("c:\fakePhoto.jpg")

    ' Retrieve the bitmap data from the bitmap.
    Dim bmpData As System.Drawing.Imaging.BitmapData = bmp.LockBits(New Rectangle(0, 0, bmp.Width, bmp.Height), _
        ImageLockMode.ReadOnly, bmp.PixelFormat)

    'Create a new bitmap.
    Dim newBitmap As New Bitmap(200, 200, bmpData.Stride, bmp.PixelFormat, bmpData.Scan0)

    bmp.UnlockBits(bmpData)

    ' Draw the new bitmap.
    e.Graphics.DrawImage(newBitmap, 10, 10)

End Sub

注釈

呼び出し元は、scan0 パラメーターによって指定されたメモリブロックの割り当てと解放を行います。The caller is responsible for allocating and freeing the block of memory specified by the scan0 parameter. ただし、関連する Bitmap が解放されるまでは、メモリを解放しないでください。However, the memory should not be released until the related Bitmap is released.

セキュリティ

SecurityPermission
アンマネージコードを呼び出すための。for calling into unmanaged code. 関連する列挙値: UnmanagedCodeRelated enumeration: UnmanagedCode

適用対象