Rectangle copyRect = new Rectangle(0, 0, Width, Height);
BitmapData data = imageBuffer.LockBits(copyRect, ImageLockMode.ReadWrite, imageBuffer.PixelFormat);
IntPtr bPointer = data.Scan0;
Marshal.Copy(buffer, 0, bPointer, buffer.Length);
imageBuffer.UnlockBits(data);
Rectangle copyRect = new Rectangle(0, 0, Width, Height);
BitmapData data = imageBuffer.LockBits(copyRect, ImageLockMode.ReadWrite, imageBuffer.PixelFormat);
IntPtr bPointer = data.Scan0;
Marshal.Copy(buffer, 0, bPointer, buffer.Length);
imageBuffer.UnlockBits(data);