주어진 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 메도의 오류 : "요청한 범위는 배열의 끝을 넘어". 오류는 어디에 있습니까?
감사
감사합니다.하지만 이제는 보호 된 저택에 쓰려고하는 중 오류가 발생합니다. – h0ppel
왜냐하면 길이 1의 Intptr 배열에 실제로 쓰려고했기 때문에 데이터가 1 (또는 2)보다 길기 때문입니다. – driis