指定された 16 ビットのグレースケール値からビットマップを作成したいと考えています。これまでのところ、私はこのコードを持っています:
var value = CamData.ToArray();
var b = new Bitmap(160, 112, PixelFormat.Format24bppRgb);
var bdata = b.LockBits(new Rectangle(0, 0, 160, 112), ImageLockMode.WriteOnly, b.PixelFormat);
unsafe
{
fixed (ushort* pData = &value[0])
{
Marshal.Copy((IntPtr)pData, new IntPtr[]{ bdata.Scan0}, 0, value.Length);
}
}
b.UnlockBits(bdata);
しかし、Marshal.Copy Methode で「要求された範囲が配列の末尾を超えています」というエラーが表示されます。エラーはどこにありますか?
ありがとう