「C#でのbmp画像の構造体のポインタの取得」で登録していたが、前のコードはポインタの操作のためにわざわざ数値型に変換して計算していた。
juner様からIntPtr.Add(IntPtr, Int32) を教えていただいたので修正した。
削除するつもりはなかったが、非表示のしかたが分からなくて、あわてて削除してしまいました。
編集でよかったように思います。
bitmapのフォーマット
現在のコード
byte[] imageBytes = System.IO.File.ReadAllBytes(path);
// 先頭から画像本体へのオフセット値取得
int AtOffsetData = 10;
int imgOffset = BitConverter.ToInt32(imageBytes, AtOffsetData);
IntPtr bitMapPtr = Marshal.AllocCoTaskMem(Marshal.SizeOf(typeof(byte)) * imageBytes.Length);
Marshal.Copy(imageBytes, 0, bitMapPtr, imageBytes.Length);
// BITMAP構造体へのオフセット
int BitMapInfoOffset = 14;
IntPtr bitMapInfoPtr = IntPtr.Add(bitMapPtr, BitMapInfoOffset);
IntPtr imagePtr = IntPtr.Add(bitMapPtr, imgOffset);
// 画像解析ライブラリへの関数へポインタ渡す。