- - PR -
C# Bitmapインスタンスからビットマップデータを取得する方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-04-21 23:39
ビットマップデータのみをbyte[]に高速に抜き出す方法を教えてください。
例えばRGB24bit*640*480であれば格納されているbyte[640*480*3]そのものだけを 切り出したいという意味です。 ヘッダー情報、例えばカラーパレットや解像度等は既知であるため不要です。 純粋にビットマップデータのみを直接演算処理しようとしています。 ポインター等を使っても構わないので、できるだけ高速に抜き出す方法が知りたいです。宜しくお願いします。 |
|
投稿日時: 2005-04-22 00:07
Bitmap.LockBitsメソッドを使ってBitmapDataオブジェクトを取得し、
Marshal.CopyでBitmapData.Scan0からbyte配列にコピーします。 当然4バイト境界に切り上げられていますから、コピーするサイズにはご注意を。 |
|
投稿日時: 2005-04-22 11:30
これが一番速いのかどうかはわかりませんが...
http://www.nextftp.com/swlabo/m4_experiment/exp001.htm こことか... |
|
投稿日時: 2005-04-23 11:50
ありがとうございます。
SetPixelの遅さを実感していたので勉強になりました。 |
1