C# 如何删除位图数据扫描0成员中的不安全块

C# 如何删除位图数据扫描0成员中的不安全块,c#,C#,我想更改我的经理代码。但是,此代码具有不安全的块代码。我想删除或更改不安全代码 我试图通过BitmapData.Scan0使用IntPtr。但是,我不知道这个成员如何写入BitmapData Bitmap btm = new Bitmap(width, height, PixelFormat.Format8bppIndexed); BitmapData btmdata = btm.LockBits(new Rectangle(0, 0, width

我想更改我的经理代码。但是,此代码具有不安全的块代码。我想删除或更改不安全代码

我试图通过BitmapData.Scan0使用IntPtr。但是,我不知道这个成员如何写入BitmapData

            Bitmap btm = new Bitmap(width, height, PixelFormat.Format8bppIndexed);
            BitmapData btmdata = btm.LockBits(new Rectangle(0, 0, width, height), ImageLockMode.WriteOnly
                                                , PixelFormat.Format8bppIndexed);
            unsafe
            {
                byte* Pointer = (byte*)btmdata.Scan0.ToPointer();
                for (int i = 0; i < height * width; i++, Pointer++)
                {
                    *Pointer = rawdata[offset + i];
                }
            }
Bitmap btm=新位图(宽度、高度、像素格式.Format8bppIndexed);
BitmapData btmdata=btm.LockBits(新矩形(0,0,宽度,高度),ImageLockMode.WriteOnly
,PixelFormat.Format8Bppined);
不安全的
{
字节*指针=(字节*)btmdata.Scan0.ToPointer();
对于(int i=0;i
当我移除不安全的块时,我想做相同的函数。 如何移除不安全的块。

您可以使用


不确定为什么投票数为0-这在msdn上的BitmapData示例中确实存在:
Marshal.Copy(rawdata, offset, btmdata.Scan0, height * width);