英語で読む

次の方法で共有


BitmapData クラス

定義

ビットマップ イメージの属性を指定します。 BitmapData クラスは、Bitmap クラスの LockBits メソッドおよび UnlockBits(BitmapData) メソッドで使用されます。 継承はできません。

public sealed class BitmapData
継承
BitmapData

次のコード例では、 メソッドと UnlockBits メソッドで クラスをBitmapData使用する方法をLockBits示します。 この例は、Windows フォームで使用するように設計されています。 この例を実行するには、フォームに貼り付け、 メソッドを呼び出してフォームのPaintイベントをLockUnlockBitsExample処理し、 を としてPaintEventArgseします。

private void LockUnlockBitsExample(PaintEventArgs e)
    {

        // Create a new bitmap.
        Bitmap bmp = new Bitmap("c:\\fakePhoto.jpg");

        // Lock the bitmap's bits.  
        Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height);
        System.Drawing.Imaging.BitmapData bmpData =
            bmp.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite,
            bmp.PixelFormat);

        // Get the address of the first line.
        IntPtr ptr = bmpData.Scan0;

        // Declare an array to hold the bytes of the bitmap.
        int bytes  = Math.Abs(bmpData.Stride) * bmp.Height;
        byte[] rgbValues = new byte[bytes];

        // Copy the RGB values into the array.
        System.Runtime.InteropServices.Marshal.Copy(ptr, rgbValues, 0, bytes);

        // Set every third value to 255. A 24bpp bitmap will look red.  
        for (int counter = 2; counter < rgbValues.Length; counter += 3)
            rgbValues[counter] = 255;

        // Copy the RGB values back to the bitmap
        System.Runtime.InteropServices.Marshal.Copy(rgbValues, 0, ptr, bytes);

        // Unlock the bits.
        bmp.UnlockBits(bmpData);

        // Draw the modified image.
        e.Graphics.DrawImage(bmp, 0, 150);
    }

コンストラクター

BitmapData()

BitmapData クラスの新しいインスタンスを初期化します。

プロパティ

Height

Bitmap オブジェクトの高さ (ピクセル単位) を取得または設定します。 スキャン ラインの数を指す場合もあります。

PixelFormat

この BitmapData オブジェクトを返した Bitmap オブジェクトに格納されているピクセル情報の形式を取得または設定します。

Reserved

予約済み。 使用しないでください。

Scan0

ビットマップ内の最初のピクセル データのアドレスを取得または設定します。 これをビットマップ内の最初のスキャン ラインと考えることもできます。

Stride

Bitmap オブジェクトのストライド幅 (スキャン幅とも呼ばれる) を取得または設定します。

Width

Bitmap オブジェクトの幅 (ピクセル単位) を取得または設定します。 これを 1 つのスキャン ラインのピクセル数と考えることもできます。

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象