سؤال
التالية البرنامج التعليمي لبوب باول على 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 = nitmapimage ؛) كل ما يخرج هو X أحمر على خلفية بيضاء ، مع حدود حمراء. ما الخطأ الذي افعله؟
المحلول
هل نسيت الاتصال UnlockBits
في النهاية كما هو مقترح في نهاية الرابط http://www.bobpowell.net/lockingbits.htm
لا تنتمي إلى StackOverflow