簡體   English   中英

C#:LockBits 推出了一個巨大的紅色 X

[英]C#: LockBits puts out a Giant Red X

按照 Bob Powell 關於 LockBits 的教程,我將以下代碼放入 C# 2010 Visual Studio Express:

System.Drawing.Imaging.BitmapData bmp = 
    BitmapImage
        .LockBits(new Rectangle(0, 0, 800, 600),
                  System.Drawing.Imaging.ImageLockMode.ReadWrite, 
                  MainGrid.PixelFormat)

        unsafe
        {
            for (int y = 0; y < bmp.Height; y++)
            {
                byte* row = (byte*)bmp.Scan0 + (y * bmp.Stride);
                for (int x = 0; x < bmp.Width; x++)
                {
                    row[x * 4] = 255;
                }
            }
        }

將位圖數據推入圖片框 (picturebox.Image = BitmapImage;) 后,所有出來的都是白色背景上的紅色 x,帶有紅色邊框。 我究竟做錯了什么?

您是否忘記在最后調用UnlockBits ,如本文末尾所建議的: 使用 LockBits 方法訪問圖像數據

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM