有用C#写过DirectDraw的人请进!急
Surface 中的Lock()返回的是什么东西啊,怎样不用指针来读写Surface中的内存
//为什么这里的上限都是50,本来宽应该是50*(32/8)才对啊
//而且我给数组按4字节一个像素符值的时候结果与意料的也不一样
SurfaceDescription desc = new SurfaceDescription();
desc.SurfaceCaps.OffScreenPlain=true;
desc.Width=50;
desc.Height=50;
Surface offscreen;
offscreen = new Surface(desc, draw);//draw is DriectDraw Object
Trace.WriteLine(offscreen.SurfaceDescription.PixelFormatStructure.RgbBitCount)
//Output is 32,the surface's pixelformat are 32 bits=4 bytes
byte[,] mem=offscreen.Lock(LockFlags.Wait);
Trace.WriteLine(mem.GetLength(0));//output 50
Trace.WriteLine(mem.GetLength(1));//output 50
Trace.WriteLine(mem.GetUpperBound(0));//output 49
Trace.WriteLine(mem.GetUpperBound(1)); //output 49
//为什么这里的上限都是50,本来宽应该是50*(32/8)才对啊
//而且我给数组按4字节一个像素符值的时候结果与意料的也不一样
offscreen.Unlock(mem);