このブログ「吟遊詩人の戯言」 の記事検索...

Bitmapオブジェクトの画像バッファよりIntPtrを取り出す方法

関連記事

C#の画像処理
Bitmapオブジェクトに、画像を格納した上で
あ~だこ~だやるわけですが

Bitmapオブジェクトを利用して実装すると、なんか処理が遅い

ってことで、unsafeしちゃって、ポインタでかき回す、ってのが、王道なんですが

その前に、Bitmapオブジェクト内に格納されている、バッファへのポインタを取り出す必要がありまして

その取り出し方は、以下のとおり


Bitmap b = new Bitmap(720,480, System.Drawing.Imaging.PixelFormat.Format32bppArgb);

BitmapData bData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height),
                           ImageLockMode.ReadWrite, PixelFormat.Format32bppRgb);

IntPtr Scan0 = bData.Scan0;	//取り出されたIntPtr

//IntPtrに格納されているバッファへのアドレスを利用して、ごにょごにょする

b.UnlockBits(bData);

Bitmap.LockBits();
Bitmap.UnLockBits();

と、生成されたBitmapDataクラスのScan0プロパティが肝ですな

 
 
 
 

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt="">