2010-11-27 2 views
3

Bob Powell's tutorial on LockBits에 따라 자이언트 레드 X를두고, 전 C#으로 2010 비주얼 스튜디오 익스프레스를 다음 코드를 넣어 :C 번호 : LockBits는

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에 비트 맵 데이터를 누른 후 (picturebox.Image = BitmapImage) 나오는 모든 것은 빨간색 테두리가있는 흰색 배경 위에 빨간색 x입니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

2
+0

야의 끝에서 제안 끝에 UnlockBits 전화를 잊어 버린, 지금은 작동합니다. 재미있게, 나는이 질문을하기 전에 그것을 넣었고 디버거는 컴파일되지 않았습니다. 그것은 할당, 호출, 증분 등만이 성명서로 사용될 수 있다고 말했습니다. 감사 :) – GunnarJ